Skip to content
Snippets Groups Projects
docker-compose.yaml 8.46 KiB
version: "3"

networks:
  traefik-proxy:
    external: true
  default:
    external: false

services:
  workadventure-front:
    container_name: workadventure-front
    image: thecodingmachine/nodejs:14
    restart: unless-stopped
    environment:
      DEBUG_MODE: "$DEBUG_MODE"
      JITSI_URL: "meet.jit.si"
      JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
      HOST: "0.0.0.0"
      NODE_ENV: development
      PUSHER_URL: //wa_pusher.warpzone.ms
      UPLOADER_URL: //wa_uploader.warpzone.ms
      ADMIN_URL: //workadventure.warpzone.ms
      STARTUP_COMMAND_1: ./templater.sh
      STARTUP_COMMAND_2: yarn install
      DISABLE_NOTIFICATIONS: "$DISABLE_NOTIFICATIONS"
      SKIP_RENDER_OPTIMIZATIONS: "$SKIP_RENDER_OPTIMIZATIONS"
      # Use TURN_USER/TURN_PASSWORD if your Coturn server is secured via hard coded credentials.
      # Advice: you should instead use Coturn REST API along the TURN_STATIC_AUTH_SECRET in the Back container
#      TURN_USER: ""
#      TURN_PASSWORD: ""
#      STUN_SERVER: "stun:stun.t-online.de:3478"
#      TURN_SERVER: "turn:turn.anyfirewall.com:443?transport=tcp,turns:turn.anyfirewall.com:443?transport=tcp"
#      TURN_USER: webrtc
#      TURN_PASSWORD: webrtc
      TURN_SERVER: "turn:coturn.workadventu.re:443,turns:coturn.workadventu.re:443"
      TURN_USER: workadventure
      TURN_PASSWORD: WorkAdventure123
      START_ROOM_URL: "$START_ROOM_URL"
      MAX_PER_GROUP: "$MAX_PER_GROUP"
      MAX_USERNAME_LENGTH: "$MAX_USERNAME_LENGTH"
    networks:
      - traefik-proxy
      - default
    command: yarn run start
    volumes:
      - ./front:/usr/src/app
    labels:
      - "traefik.enable=true"
      - "traefik.http.services.workadventure-front.loadbalancer.server.port=8080"
      - "traefik.http.routers.workadventure-front.rule=Host(`play.warpzone.ms`)"
      - "traefik.http.routers.workadventure-front.entryPoints=websecure"
      - "traefik.http.routers.workadventure-front.tls.certresolver=hetzner"
      - "traefik.http.routers.workadventure-front.service=workadventure-front"
      - "traefik.http.routers.link.rule= Host(`workadventure.warpzone.ms`)"
      - "traefik.http.routers.link.entryPoints=websecure"
      - "traefik.http.routers.link.tls.certresolver=hetzner"
      - "traefik.docker.network=traefik-proxy"


  workadventure-pusher:
    container_name: workadventure-pusher
    image: thecodingmachine/nodejs:14
    restart: unless-stopped
    command: yarn dev
    environment:
      DEBUG: "socket:*"
      STARTUP_COMMAND_1: yarn install
      SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
      SECRET_KEY: yourSecretKey
      ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"