2021-12-04 11:01:40 +01:00
|
|
|
version: "3.5"
|
2020-04-03 18:31:11 +02:00
|
|
|
services:
|
|
|
|
reverse-proxy:
|
2021-12-03 09:23:52 +01:00
|
|
|
image: traefik:v2.5
|
2020-06-25 10:32:47 +02:00
|
|
|
command:
|
|
|
|
- --api.insecure=true
|
|
|
|
- --providers.docker
|
|
|
|
- --entryPoints.web.address=:80
|
|
|
|
- --entryPoints.websecure.address=:443
|
2021-12-03 09:23:52 +01:00
|
|
|
- "--providers.docker.exposedbydefault=false"
|
2020-04-03 18:31:11 +02:00
|
|
|
ports:
|
|
|
|
- "80:80"
|
2020-06-25 10:32:47 +02:00
|
|
|
- "443:443"
|
2020-04-03 18:31:11 +02:00
|
|
|
# The Web UI (enabled by --api.insecure=true)
|
|
|
|
- "8080:8080"
|
2021-12-03 09:23:52 +01:00
|
|
|
#depends_on:
|
|
|
|
# - back
|
|
|
|
# - front
|
2020-04-03 18:31:11 +02:00
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
2021-11-23 15:42:52 +01:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
aliases:
|
|
|
|
- 'play.workadventure.localhost'
|
|
|
|
- 'pusher.workadventure.localhost'
|
|
|
|
- 'maps.workadventure.localhost'
|
2020-04-03 18:31:11 +02:00
|
|
|
|
|
|
|
front:
|
2022-05-06 17:14:18 +02:00
|
|
|
image: thecodingmachine/nodejs:16
|
2020-04-03 18:31:11 +02:00
|
|
|
environment:
|
2020-04-13 19:40:10 +02:00
|
|
|
DEBUG_MODE: "$DEBUG_MODE"
|
2020-08-31 12:18:00 +02:00
|
|
|
JITSI_URL: $JITSI_URL
|
2020-10-19 11:07:49 +02:00
|
|
|
JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
|
2020-04-03 18:31:11 +02:00
|
|
|
HOST: "0.0.0.0"
|
|
|
|
NODE_ENV: development
|
2021-03-31 16:00:14 +02:00
|
|
|
PUSHER_URL: //pusher.workadventure.localhost
|
|
|
|
UPLOADER_URL: //uploader.workadventure.localhost
|
2021-11-30 14:58:37 +01:00
|
|
|
#ADMIN_URL: //workadventure.localhost
|
2021-11-10 15:20:04 +01:00
|
|
|
ICON_URL: //icon.workadventure.localhost
|
2021-01-21 09:02:47 +01:00
|
|
|
STARTUP_COMMAND_1: ./templater.sh
|
|
|
|
STARTUP_COMMAND_2: yarn install
|
2021-02-16 18:13:30 +01:00
|
|
|
STUN_SERVER: "stun:stun.l.google.com:19302"
|
|
|
|
TURN_SERVER: "turn:coturn.workadventure.localhost:3478,turns:coturn.workadventure.localhost:5349"
|
2021-05-17 13:50:31 +02:00
|
|
|
DISABLE_NOTIFICATIONS: "$DISABLE_NOTIFICATIONS"
|
|
|
|
SKIP_RENDER_OPTIMIZATIONS: "$SKIP_RENDER_OPTIMIZATIONS"
|
2021-02-16 09:58:08 +01:00
|
|
|
# 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
|
2021-02-16 18:13:30 +01:00
|
|
|
TURN_USER: ""
|
|
|
|
TURN_PASSWORD: ""
|
2021-01-07 12:15:33 +01:00
|
|
|
START_ROOM_URL: "$START_ROOM_URL"
|
2021-04-14 15:36:25 +02:00
|
|
|
MAX_PER_GROUP: "$MAX_PER_GROUP"
|
|
|
|
MAX_USERNAME_LENGTH: "$MAX_USERNAME_LENGTH"
|
2021-11-12 16:52:44 +01:00
|
|
|
DISABLE_ANONYMOUS: "$DISABLE_ANONYMOUS"
|
2021-11-12 19:35:34 +01:00
|
|
|
OPID_LOGIN_SCREEN_PROVIDER: "$OPID_LOGIN_SCREEN_PROVIDER"
|
2020-04-03 18:31:11 +02:00
|
|
|
command: yarn run start
|
|
|
|
volumes:
|
|
|
|
- ./front:/usr/src/app
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2020-06-01 16:05:01 +02:00
|
|
|
- "traefik.http.routers.front.rule=Host(`play.workadventure.localhost`)"
|
2021-03-08 09:28:15 +01:00
|
|
|
- "traefik.http.routers.front.entryPoints=web"
|
2020-04-03 18:31:11 +02:00
|
|
|
- "traefik.http.services.front.loadbalancer.server.port=8080"
|
2020-06-25 10:32:47 +02:00
|
|
|
- "traefik.http.routers.front-ssl.rule=Host(`play.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.front-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.front-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.front-ssl.service=front"
|
|
|
|
|
2020-11-13 18:00:22 +01:00
|
|
|
pusher:
|
2022-05-06 17:14:18 +02:00
|
|
|
image: thecodingmachine/nodejs:16
|
2020-11-13 18:00:22 +01:00
|
|
|
command: yarn dev
|
|
|
|
environment:
|
2021-03-26 14:12:22 +01:00
|
|
|
DEBUG: "socket:*"
|
2020-11-13 18:00:22 +01:00
|
|
|
STARTUP_COMMAND_1: yarn install
|
2021-11-24 11:31:11 +01:00
|
|
|
# wait for files generated by "messages" container to exists
|
2022-01-06 18:53:45 +01:00
|
|
|
STARTUP_COMMAND_2: sleep 5; while [ ! -f /usr/src/app/src/Messages/generated/messages_pb.js ]; do sleep 1; done
|
2020-11-13 18:00:22 +01:00
|
|
|
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
|
|
|
|
SECRET_KEY: yourSecretKey
|
|
|
|
ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"
|
|
|
|
API_URL: back:50051
|
|
|
|
JITSI_URL: $JITSI_URL
|
|
|
|
JITSI_ISS: $JITSI_ISS
|
2021-07-27 16:37:01 +02:00
|
|
|
FRONT_URL: http://play.workadventure.localhost
|
|
|
|
OPID_CLIENT_ID: $OPID_CLIENT_ID
|
|
|
|
OPID_CLIENT_SECRET: $OPID_CLIENT_SECRET
|
|
|
|
OPID_CLIENT_ISSUER: $OPID_CLIENT_ISSUER
|
2021-11-15 15:58:08 +01:00
|
|
|
OPID_CLIENT_REDIRECT_URL: $OPID_CLIENT_REDIRECT_URL
|
2021-11-12 20:48:26 +01:00
|
|
|
OPID_PROFILE_SCREEN_PROVIDER: $OPID_PROFILE_SCREEN_PROVIDER
|
2022-02-28 12:09:33 +01:00
|
|
|
OPID_SCOPE: $OPID_SCOPE
|
2022-02-16 09:11:08 +01:00
|
|
|
OPID_USERNAME_CLAIM: $OPID_USERNAME_CLAIM
|
|
|
|
OPID_LOCALE_CLAIM: $OPID_LOCALE_CLAIM
|
2021-10-21 16:28:57 +02:00
|
|
|
DISABLE_ANONYMOUS: $DISABLE_ANONYMOUS
|
2022-03-11 17:02:58 +01:00
|
|
|
ENABLE_OPENAPI_ENDPOINT: "true"
|
2020-11-13 18:00:22 +01:00
|
|
|
volumes:
|
|
|
|
- ./pusher:/usr/src/app
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2020-11-13 18:00:22 +01:00
|
|
|
- "traefik.http.routers.pusher.rule=Host(`pusher.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.pusher.entryPoints=web"
|
|
|
|
- "traefik.http.services.pusher.loadbalancer.server.port=8080"
|
|
|
|
- "traefik.http.routers.pusher-ssl.rule=Host(`pusher.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.pusher-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.pusher-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.pusher-ssl.service=pusher"
|
|
|
|
|
2020-07-23 18:09:24 +02:00
|
|
|
maps:
|
2021-11-29 19:05:13 +01:00
|
|
|
image: thecodingmachine/php:8.1-v4-apache-node12
|
2020-07-23 18:09:24 +02:00
|
|
|
environment:
|
|
|
|
DEBUG_MODE: "$DEBUG_MODE"
|
|
|
|
HOST: "0.0.0.0"
|
|
|
|
NODE_ENV: development
|
2021-11-29 19:05:13 +01:00
|
|
|
FRONT_URL: http://play.workadventure.localhost
|
2020-07-23 18:43:51 +02:00
|
|
|
#APACHE_DOCUMENT_ROOT: dist/
|
2020-07-23 18:09:24 +02:00
|
|
|
#APACHE_EXTENSIONS: headers
|
|
|
|
#APACHE_EXTENSION_HEADERS: 1
|
|
|
|
STARTUP_COMMAND_0: sudo a2enmod headers
|
|
|
|
STARTUP_COMMAND_1: yarn install
|
|
|
|
volumes:
|
|
|
|
- ./maps:/var/www/html
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2020-07-23 18:09:24 +02:00
|
|
|
- "traefik.http.routers.maps.rule=Host(`maps.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.maps.entryPoints=web,traefik"
|
|
|
|
- "traefik.http.services.maps.loadbalancer.server.port=80"
|
|
|
|
- "traefik.http.routers.maps-ssl.rule=Host(`maps.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.maps-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.maps-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.maps-ssl.service=maps"
|
2020-04-04 04:08:12 +02:00
|
|
|
|
|
|
|
back:
|
2022-05-06 17:14:18 +02:00
|
|
|
image: thecodingmachine/nodejs:16
|
2020-04-04 04:08:12 +02:00
|
|
|
command: yarn dev
|
2020-06-03 09:18:49 +02:00
|
|
|
#command: yarn run profile
|
2020-04-04 04:08:12 +02:00
|
|
|
environment:
|
2020-11-13 18:00:22 +01:00
|
|
|
DEBUG: "*"
|
2020-04-04 04:08:12 +02:00
|
|
|
STARTUP_COMMAND_1: yarn install
|
2021-11-24 11:31:11 +01:00
|
|
|
# wait for files generated by "messages" container to exists
|
2022-01-06 18:53:45 +01:00
|
|
|
STARTUP_COMMAND_2: sleep 5; while [ ! -f /usr/src/app/src/Messages/generated/messages_pb.js ]; do sleep 1; done
|
2020-04-04 14:05:18 +02:00
|
|
|
SECRET_KEY: yourSecretKey
|
2020-10-16 19:13:26 +02:00
|
|
|
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
|
2020-09-11 09:56:05 +02:00
|
|
|
ALLOW_ARTILLERY: "true"
|
2020-09-25 13:48:02 +02:00
|
|
|
ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"
|
2020-10-19 12:07:05 +02:00
|
|
|
JITSI_URL: $JITSI_URL
|
|
|
|
JITSI_ISS: $JITSI_ISS
|
2021-02-16 18:13:30 +01:00
|
|
|
TURN_STATIC_AUTH_SECRET: SomeStaticAuthSecret
|
2021-04-14 15:36:25 +02:00
|
|
|
MAX_PER_GROUP: "MAX_PER_GROUP"
|
2021-07-19 15:57:50 +02:00
|
|
|
REDIS_HOST: redis
|
|
|
|
NODE_ENV: development
|
2021-11-23 15:42:52 +01:00
|
|
|
STORE_VARIABLES_FOR_LOCAL_MAPS: "true"
|
2020-04-04 04:08:12 +02:00
|
|
|
volumes:
|
|
|
|
- ./back:/usr/src/app
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2020-04-04 11:36:18 +02:00
|
|
|
- "traefik.http.routers.back.rule=Host(`api.workadventure.localhost`)"
|
2020-06-25 10:32:47 +02:00
|
|
|
- "traefik.http.routers.back.entryPoints=web"
|
2020-04-04 04:08:12 +02:00
|
|
|
- "traefik.http.services.back.loadbalancer.server.port=8080"
|
2020-06-25 10:32:47 +02:00
|
|
|
- "traefik.http.routers.back-ssl.rule=Host(`api.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.back-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.back-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.back-ssl.service=back"
|
|
|
|
|
2020-12-09 21:29:29 +01:00
|
|
|
uploader:
|
2022-05-06 17:14:18 +02:00
|
|
|
image: thecodingmachine/nodejs:16
|
2020-12-09 21:29:29 +01:00
|
|
|
command: yarn dev
|
|
|
|
#command: yarn run profile
|
|
|
|
environment:
|
|
|
|
DEBUG: "*"
|
|
|
|
STARTUP_COMMAND_1: yarn install
|
|
|
|
volumes:
|
|
|
|
- ./uploader:/usr/src/app
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2020-12-09 21:29:29 +01:00
|
|
|
- "traefik.http.routers.uploader.rule=Host(`uploader.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.uploader.entryPoints=web"
|
|
|
|
- "traefik.http.services.uploader.loadbalancer.server.port=8080"
|
|
|
|
- "traefik.http.routers.uploader-ssl.rule=Host(`uploader.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.uploader-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.uploader-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.uploader-ssl.service=uploader"
|
2020-06-01 16:05:01 +02:00
|
|
|
|
2020-09-18 13:57:38 +02:00
|
|
|
messages:
|
|
|
|
image: thecodingmachine/workadventure-back-base:latest
|
|
|
|
environment:
|
2020-11-13 18:00:22 +01:00
|
|
|
#STARTUP_COMMAND_0: sudo apt-get install -y inotify-tools
|
2020-09-18 13:57:38 +02:00
|
|
|
STARTUP_COMMAND_1: yarn install
|
|
|
|
STARTUP_COMMAND_2: yarn run proto:watch
|
|
|
|
volumes:
|
|
|
|
- ./messages:/usr/src/app
|
2020-09-24 11:16:08 +02:00
|
|
|
- ./back:/usr/src/back
|
|
|
|
- ./front:/usr/src/front
|
2020-11-13 18:00:22 +01:00
|
|
|
- ./pusher:/usr/src/pusher
|
2021-02-16 18:13:30 +01:00
|
|
|
|
2021-07-19 15:57:50 +02:00
|
|
|
redis:
|
|
|
|
image: redis:6
|
|
|
|
|
|
|
|
redisinsight:
|
|
|
|
image: redislabs/redisinsight:latest
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2021-07-19 15:57:50 +02:00
|
|
|
- "traefik.http.routers.redisinsight.rule=Host(`redis.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.redisinsight.entryPoints=web"
|
|
|
|
- "traefik.http.services.redisinsight.loadbalancer.server.port=8001"
|
|
|
|
- "traefik.http.routers.redisinsight-ssl.rule=Host(`redis.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.redisinsight-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.redisinsight-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.redisinsight-ssl.service=redisinsight"
|
|
|
|
|
2021-11-10 15:20:04 +01:00
|
|
|
icon:
|
|
|
|
image: matthiasluedtke/iconserver:v3.13.0
|
|
|
|
labels:
|
2021-12-03 09:23:52 +01:00
|
|
|
- "traefik.enable=true"
|
2021-11-10 15:20:04 +01:00
|
|
|
- "traefik.http.routers.icon.rule=Host(`icon.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.icon.entryPoints=web"
|
|
|
|
- "traefik.http.services.icon.loadbalancer.server.port=8080"
|
|
|
|
- "traefik.http.routers.icon-ssl.rule=Host(`icon.workadventure.localhost`)"
|
|
|
|
- "traefik.http.routers.icon-ssl.entryPoints=websecure"
|
|
|
|
- "traefik.http.routers.icon-ssl.tls=true"
|
|
|
|
- "traefik.http.routers.icon-ssl.service=icon"
|
|
|
|
|
2021-02-16 18:13:30 +01:00
|
|
|
# coturn:
|
|
|
|
# image: coturn/coturn:4.5.2
|
|
|
|
# command:
|
|
|
|
# - turnserver
|
|
|
|
# #- -c=/etc/coturn/turnserver.conf
|
|
|
|
# - --log-file=stdout
|
|
|
|
# - --external-ip=$$(detect-external-ip)
|
|
|
|
# - --listening-port=3478
|
|
|
|
# - --min-port=10000
|
|
|
|
# - --max-port=10010
|
|
|
|
# - --tls-listening-port=5349
|
|
|
|
# - --listening-ip=0.0.0.0
|
|
|
|
# - --realm=coturn.workadventure.localhost
|
|
|
|
# - --server-name=coturn.workadventure.localhost
|
|
|
|
# - --lt-cred-mech
|
|
|
|
# # Enable Coturn "REST API" to validate temporary passwords.
|
|
|
|
# #- --use-auth-secret
|
|
|
|
# #- --static-auth-secret=SomeStaticAuthSecret
|
|
|
|
# #- --userdb=/var/lib/turn/turndb
|
|
|
|
# - --user=workadventure:WorkAdventure123
|
|
|
|
# # use real-valid certificate/privatekey files
|
|
|
|
# #- --cert=/root/letsencrypt/fullchain.pem
|
|
|
|
# #- --pkey=/root/letsencrypt/privkey.pem
|
|
|
|
# network_mode: host
|