|
# /opt/workadvenure/docker-compose.yaml |
|
|
|
version: "3.3" |
|
services: |
|
front: |
|
image: thecodingmachine/workadventure-front:${VERSION} |
|
environment: |
|
- DEBUG_MODE |
|
- JITSI_URL |
|
- JITSI_PRIVATE_MODE |
|
- PUSHER_URL=//${PUSHER_HOST} |
|
- ICON_URL=//${ICON_HOST} |
|
- TURN_SERVER |
|
- TURN_USER |
|
- TURN_PASSWORD |
|
- TURN_STATIC_AUTH_SECRET |
|
- STUN_SERVER |
|
- START_ROOM_URL |
|
- SKIP_RENDER_OPTIMIZATIONS |
|
- MAX_PER_GROUP |
|
- MAX_USERNAME_LENGTH |
|
- DISABLE_ANONYMOUS |
|
- DISABLE_NOTIFICATIONS |
|
labels: |
|
- "traefik.http.routers.front.rule=Host(`${FRONT_HOST}`)" |
|
- "traefik.http.routers.front.entryPoints=web" |
|
- "traefik.http.services.front.loadbalancer.server.port=80" |
|
- "traefik.http.routers.front-ssl.rule=Host(`${FRONT_HOST}`)" |
|
- "traefik.http.routers.front-ssl.entryPoints=websecure" |
|
- "traefik.http.routers.front-ssl.service=front" |
|
- "traefik.http.routers.front-ssl.tls=true" |
|
- "traefik.http.routers.front-ssl.tls.certresolver=myresolver" |
|
restart: ${RESTART_POLICY} |
|
networks: |
|
web: |
|
|
|
pusher: |
|
image: thecodingmachine/workadventure-pusher:${VERSION} |
|
command: yarn run runprod |
|
environment: |
|
- SECRET_JITSI_KEY |
|
- SECRET_KEY |
|
- API_URL |
|
- FRONT_URL=https://${FRONT_HOST} |
|
- JITSI_URL |
|
- JITSI_ISS |
|
- DISABLE_ANONYMOUS |
|
labels: |
|
- "traefik.http.routers.pusher.rule=Host(`${PUSHER_HOST}`)" |
|
- "traefik.http.routers.pusher.entryPoints=web" |
|
- "traefik.http.services.pusher.loadbalancer.server.port=8080" |
|
- "traefik.http.routers.pusher-ssl.rule=Host(`${PUSHER_HOST}`)" |
|
- "traefik.http.routers.pusher-ssl.entryPoints=websecure" |
|
- "traefik.http.routers.pusher-ssl.service=pusher" |
|
- "traefik.http.routers.pusher-ssl.tls=true" |
|
- "traefik.http.routers.pusher-ssl.tls.certresolver=myresolver" |
|
restart: ${RESTART_POLICY} |
|
networks: |
|
web: |
|
|
|
back: |
|
image: thecodingmachine/workadventure-back:${VERSION} |
|
command: yarn run runprod |
|
environment: |
|
- SECRET_JITSI_KEY |
|
- SECRET_KEY |
|
- ADMIN_API_TOKEN |
|
- ADMIN_API_URL |
|
- TURN_SERVER |
|
- TURN_USER |
|
- TURN_PASSWORD |
|
- TURN_STATIC_AUTH_SECRET |
|
- STUN_SERVER |
|
- JITSI_URL |
|
- JITSI_ISS |
|
- MAX_PER_GROUP |
|
- STORE_VARIABLES_FOR_LOCAL_MAPS |
|
labels: |
|
- "traefik.http.routers.back.rule=Host(`${BACK_HOST}`)" |
|
- "traefik.http.routers.back.entryPoints=web" |
|
- "traefik.http.services.back.loadbalancer.server.port=8080" |
|
- "traefik.http.routers.back-ssl.rule=Host(`${BACK_HOST}`)" |
|
- "traefik.http.routers.back-ssl.entryPoints=websecure" |
|
- "traefik.http.routers.back-ssl.service=back" |
|
- "traefik.http.routers.back-ssl.tls=true" |
|
- "traefik.http.routers.back-ssl.tls.certresolver=myresolver" |
|
restart: ${RESTART_POLICY} |
|
networks: |
|
web: |
|
|
|
icon: |
|
image: matthiasluedtke/iconserver:v3.13.0 |
|
labels: |
|
- "traefik.http.routers.icon.rule=Host(`${ICON_HOST}`)" |
|
- "traefik.http.routers.icon.entryPoints=web" |
|
- "traefik.http.services.icon.loadbalancer.server.port=8080" |
|
- "traefik.http.routers.icon-ssl.rule=Host(`${ICON_HOST}`)" |
|
- "traefik.http.routers.icon-ssl.entryPoints=websecure" |
|
- "traefik.http.routers.icon-ssl.service=icon" |
|
- "traefik.http.routers.icon-ssl.tls=true" |
|
- "traefik.http.routers.icon-ssl.tls.certresolver=myresolver" |
|
networks: |
|
web: |
|
|
|
networks: |
|
web: |
|
external: true |