version: "3" services: reverse-proxy: image: traefik:v2.0 command: --api.insecure=true --providers.docker ports: - "80:80" # The Web UI (enabled by --api.insecure=true) - "8080:8080" depends_on: - back - front volumes: - /var/run/docker.sock:/var/run/docker.sock front: image: thecodingmachine/nodejs:12 environment: DEBUG_MODE: "$DEBUG_MODE" HOST: "0.0.0.0" NODE_ENV: development API_URL: http://api.workadventure.localhost STARTUP_COMMAND_1: yarn install command: yarn run start volumes: - ./front:/usr/src/app labels: - "traefik.http.routers.front.rule=Host(`play.workadventure.localhost`)" - "traefik.http.services.front.loadbalancer.server.port=8080" back: image: thecodingmachine/nodejs:12 command: yarn dev environment: STARTUP_COMMAND_1: yarn install SECRET_KEY: yourSecretKey volumes: - ./back:/usr/src/app labels: - "traefik.http.routers.back.rule=Host(`api.workadventure.localhost`)" - "traefik.http.services.back.loadbalancer.server.port=8080" website: image: thecodingmachine/nodejs:12-apache environment: STARTUP_COMMAND_1: npm install STARTUP_COMMAND_2: npm run watch & APACHE_DOCUMENT_ROOT: dist/ volumes: - ./website:/var/www/html labels: - "traefik.http.routers.website.rule=Host(`workadventure.localhost`)" - "traefik.http.services.website.loadbalancer.server.port=80"