109 lines
3.7 KiB
YAML
109 lines
3.7 KiB
YAML
|
version: "3.5"
|
||
|
services:
|
||
|
front:
|
||
|
image: thecodingmachine/nodejs:14
|
||
|
environment:
|
||
|
DEBUG_MODE: "$DEBUG_MODE"
|
||
|
JITSI_URL: $JITSI_URL
|
||
|
JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
|
||
|
HOST: "0.0.0.0"
|
||
|
NODE_ENV: development
|
||
|
PUSHER_URL: "//pusher.$DOMAIN"
|
||
|
UPLOADER_URL: "//uploader.$DOMAIN"
|
||
|
ICON_URL: "//icon.$DOMAIN"
|
||
|
STARTUP_COMMAND_1: ./templater.sh
|
||
|
STARTUP_COMMAND_2: yarn install
|
||
|
STUN_SERVER: "stun:stun.l.google.com:19302"
|
||
|
TURN_SERVER: "turn:coturn.workadventu.re:443,turns:coturn.workadventu.re:443"
|
||
|
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: ""
|
||
|
START_ROOM_URL: "$START_ROOM_URL"
|
||
|
MAX_PER_GROUP: "$MAX_PER_GROUP"
|
||
|
MAX_USERNAME_LENGTH: "$MAX_USERNAME_LENGTH"
|
||
|
DISABLE_ANONYMOUS: "$DISABLE_ANONYMOUS"
|
||
|
OPID_LOGIN_SCREEN_PROVIDER: "$OPID_LOGIN_SCREEN_PROVIDER"
|
||
|
LIVE_RELOAD: "$LIVE_RELOAD:-true"
|
||
|
command: yarn run build
|
||
|
volumes:
|
||
|
- ./src/front:/usr/src/app
|
||
|
|
||
|
pusher:
|
||
|
image: thecodingmachine/nodejs:14
|
||
|
command: yarn run prod
|
||
|
environment:
|
||
|
DEBUG: "socket:*"
|
||
|
STARTUP_COMMAND_1: yarn install
|
||
|
# wait for files generated by "messages" container to exists
|
||
|
STARTUP_COMMAND_2: while [ ! -f /usr/src/app/src/Messages/generated/messages_pb.js ]; do sleep 1; done
|
||
|
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
|
||
|
FRONT_URL: "https://play.$DOMAIN"
|
||
|
OPID_CLIENT_ID: $OPID_CLIENT_ID
|
||
|
OPID_CLIENT_SECRET: $OPID_CLIENT_SECRET
|
||
|
OPID_CLIENT_ISSUER: $OPID_CLIENT_ISSUER
|
||
|
OPID_CLIENT_REDIRECT_URL: $OPID_CLIENT_REDIRECT_URL
|
||
|
OPID_PROFILE_SCREEN_PROVIDER: $OPID_PROFILE_SCREEN_PROVIDER
|
||
|
DISABLE_ANONYMOUS: $DISABLE_ANONYMOUS
|
||
|
volumes:
|
||
|
- ./src/pusher:/usr/src/app
|
||
|
ports:
|
||
|
- "127.0.0.1:8002:8080"
|
||
|
|
||
|
back:
|
||
|
image: thecodingmachine/nodejs:12
|
||
|
command: yarn run runprod
|
||
|
environment:
|
||
|
DEBUG: "*"
|
||
|
STARTUP_COMMAND_1: yarn install
|
||
|
# wait for files generated by "messages" container to exists
|
||
|
STARTUP_COMMAND_2: while [ ! -f /usr/src/app/src/Messages/generated/messages_pb.js ]; do sleep 1; done
|
||
|
SECRET_KEY: yourSecretKey
|
||
|
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
|
||
|
ALLOW_ARTILLERY: "true"
|
||
|
ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"
|
||
|
JITSI_URL: $JITSI_URL
|
||
|
JITSI_ISS: $JITSI_ISS
|
||
|
TURN_STATIC_AUTH_SECRET: SomeStaticAuthSecret
|
||
|
MAX_PER_GROUP: "MAX_PER_GROUP"
|
||
|
#REDIS_HOST: "localhost"
|
||
|
NODE_ENV: production
|
||
|
STORE_VARIABLES_FOR_LOCAL_MAPS: "true"
|
||
|
volumes:
|
||
|
- ./src/back:/usr/src/app
|
||
|
|
||
|
uploader:
|
||
|
image: thecodingmachine/nodejs:12
|
||
|
command: yarn run prod
|
||
|
environment:
|
||
|
DEBUG: "*"
|
||
|
STARTUP_COMMAND_1: yarn install
|
||
|
volumes:
|
||
|
- ./src/uploader:/usr/src/app
|
||
|
ports:
|
||
|
- "127.0.0.1:8005:8080"
|
||
|
|
||
|
messages:
|
||
|
image: thecodingmachine/workadventure-back-base:latest
|
||
|
environment:
|
||
|
#STARTUP_COMMAND_0: sudo apt-get install -y inotify-tools
|
||
|
STARTUP_COMMAND_1: yarn install
|
||
|
STARTUP_COMMAND_2: yarn run proto:watch
|
||
|
volumes:
|
||
|
- ./src/messages:/usr/src/app
|
||
|
- ./src/back:/usr/src/back
|
||
|
- ./src/front:/usr/src/front
|
||
|
- ./src/pusher:/usr/src/pusher
|
||
|
|
||
|
icon:
|
||
|
image: matthiasluedtke/iconserver:v3.13.0
|
||
|
ports:
|
||
|
- "127.0.0.1:8006:8080"
|