workadventure/docker-compose.yaml

201 lines
8 KiB
YAML
Raw Normal View History

version: "3"
services:
reverse-proxy:
image: traefik:v2.0
2020-06-25 10:32:47 +02:00
command:
# - --log.level=DEBUG
- --api.insecure=false
2020-06-25 10:32:47 +02:00
- --providers.docker
- --entryPoints.web.address=:80
- --entryPoints.websecure.address=:443
2021-01-02 23:41:35 +01:00
- --certificatesResolvers.le.acme.httpChallenge.entryPoint=web
- --certificatesResolvers.le.acme.storage=/letsencrypt/acme.json
# - "--certificatesresolvers.le.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
ports:
- "80:80"
2020-06-25 10:32:47 +02:00
- "443:443"
# The Web UI (enabled by --api.insecure=true)
- "8080:8080"
2020-04-14 20:04:55 +02:00
depends_on:
- back
- front
volumes:
- /var/run/docker.sock:/var/run/docker.sock
2021-01-02 23:41:35 +01:00
- ./letsencrypt:/letsencrypt
front:
image: thecodingmachine/nodejs:14
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
JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
HOST: "0.0.0.0"
NODE_ENV: development
2021-01-02 23:41:35 +01:00
API_URL: pusher.kraut.world
UPLOADER_URL: uploader.kraut.world
ADMIN_URL: admin.kraut.world
STARTUP_COMMAND_1: yarn install
2020-08-28 13:52:25 +02:00
TURN_SERVER: "turn:coturn.workadventu.re:443,turns:coturn.workadventu.re:443"
TURN_USER: workadventure
TURN_PASSWORD: WorkAdventure123
command: yarn run start
volumes:
- ./front:/usr/src/app
labels:
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.front.rule=Host(`play.kraut.world`)"
- "traefik.http.routers.front.entryPoints=web"
- "traefik.http.services.front.loadbalancer.server.port=8080"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.front-ssl.rule=Host(`play.kraut.world`)"
2020-06-25 10:32:47 +02:00
- "traefik.http.routers.front-ssl.entryPoints=websecure"
- "traefik.http.routers.front-ssl.tls=true"
- "traefik.http.routers.front-ssl.service=front"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.front-ssl.tls.certresolver=le"
- "traefik.http.routers.front-ssl.tls.domains[0].main=play.kraut.world"
# kraut.world - redirects
- "traefik.http.middlewares.website-redirect.redirectregex.regex=^.*"
- "traefik.http.middlewares.website-redirect.redirectregex.replacement=https://play.kraut.world/_/global/raw.githubusercontent.com/HackspaceJena/krautspace-rc3-map/main/maps/kraut.space_e1.json"
# http
- "traefik.http.routers.website.rule=Host(`kraut.world`)"
- "traefik.http.routers.website.entryPoints=web"
- "traefik.http.routers.website.middlewares=website-redirect"
# https
- "traefik.http.routers.website-ssl.rule=Host(`kraut.world`)"
- "traefik.http.routers.website-ssl.entryPoints=websecure"
- "traefik.http.routers.website-ssl.tls=true"
- "traefik.http.routers.website-ssl.service=front"
- "traefik.http.routers.website-ssl.tls.certresolver=le"
- "traefik.http.routers.website-ssl.tls.domains[0].main=kraut.world"
- "traefik.http.routers.website-ssl.middlewares=website-redirect"
2020-06-25 10:32:47 +02:00
pusher:
image: thecodingmachine/nodejs:12
command: yarn dev
#command: yarn run prod
#command: yarn run profile
environment:
DEBUG: "*"
STARTUP_COMMAND_1: yarn install
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
volumes:
- ./pusher:/usr/src/app
labels:
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.pusher.rule=Host(`pusher.kraut.world`)"
- "traefik.http.routers.pusher.entryPoints=web"
- "traefik.http.services.pusher.loadbalancer.server.port=8080"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.pusher-ssl.rule=Host(`pusher.kraut.world`)"
- "traefik.http.routers.pusher-ssl.entryPoints=websecure"
- "traefik.http.routers.pusher-ssl.tls=true"
- "traefik.http.routers.pusher-ssl.service=pusher"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.pusher-ssl.tls.certresolver=le"
- "traefik.http.routers.pusher-ssl.tls.domains[0].main=pusher.kraut.world"
maps:
image: thecodingmachine/nodejs:12-apache
environment:
DEBUG_MODE: "$DEBUG_MODE"
HOST: "0.0.0.0"
NODE_ENV: "$NODE_ENV"
2020-07-23 18:43:51 +02:00
#APACHE_DOCUMENT_ROOT: dist/
#APACHE_EXTENSIONS: headers
#APACHE_EXTENSION_HEADERS: 1
STARTUP_COMMAND_0: sudo a2enmod headers
STARTUP_COMMAND_1: yarn install
STARTUP_COMMAND_2: yarn run dev &
volumes:
- ./maps:/var/www/html
labels:
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.maps.rule=Host(`maps.kraut.world`)"
- "traefik.http.routers.maps.entryPoints=web"
- "traefik.http.services.maps.loadbalancer.server.port=80"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.maps-ssl.rule=Host(`maps.kraut.world`)"
- "traefik.http.routers.maps-ssl.entryPoints=websecure"
- "traefik.http.routers.maps-ssl.tls=true"
- "traefik.http.routers.maps-ssl.service=maps"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.maps-ssl.tls.certresolver=le"
- "traefik.http.routers.maps-ssl.tls.domains[0].main=maps.kraut.world"
back:
image: thecodingmachine/nodejs:12
command: yarn dev
2020-06-03 09:18:49 +02:00
#command: yarn run profile
environment:
DEBUG: "*"
STARTUP_COMMAND_1: yarn install
SECRET_KEY: yourSecretKey
2020-10-16 19:13:26 +02:00
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
ALLOW_ARTILLERY: "true"
ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"
JITSI_URL: $JITSI_URL
JITSI_ISS: $JITSI_ISS
volumes:
- ./back:/usr/src/app
labels:
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.back.rule=Host(`api.kraut.world`)"
2020-06-25 10:32:47 +02:00
- "traefik.http.routers.back.entryPoints=web"
- "traefik.http.services.back.loadbalancer.server.port=8080"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.back-ssl.rule=Host(`api.kraut.world`)"
2020-06-25 10:32:47 +02:00
- "traefik.http.routers.back-ssl.entryPoints=websecure"
- "traefik.http.routers.back-ssl.tls=true"
- "traefik.http.routers.back-ssl.service=back"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.back-ssl.tls.certresolver=le"
- "traefik.http.routers.back-ssl.tls.domains[0].main=api.kraut.world"
2020-06-25 10:32:47 +02:00
uploader:
image: thecodingmachine/nodejs:12
command: yarn dev
#command: yarn run profile
environment:
DEBUG: "*"
STARTUP_COMMAND_1: yarn install
volumes:
- ./uploader:/usr/src/app
labels:
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.uploader.rule=Host(`uploader.kraut.world`)"
- "traefik.http.routers.uploader.entryPoints=web"
- "traefik.http.services.uploader.loadbalancer.server.port=8080"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.uploader-ssl.rule=Host(`uploader.kraut.world`)"
- "traefik.http.routers.uploader-ssl.entryPoints=websecure"
- "traefik.http.routers.uploader-ssl.tls=true"
- "traefik.http.routers.uploader-ssl.service=uploader"
2021-01-02 23:41:35 +01:00
- "traefik.http.routers.uploader-ssl.tls.certresolver=le"
- "traefik.http.routers.uploader-ssl.tls.domains[0].main=uploader.kraut.world"
2020-06-01 16:05:01 +02:00
# 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.middlewares.https-upgrade.redirectscheme.scheme=https"
# - "traefik.http.routers.website.rule=Host(`kraut.world`)"
# - "traefik.http.routers.website.entryPoints=web"
# - "traefik.http.routers.website.middlewares=https-upgrade@docker"
# - "traefik.http.services.website.loadbalancer.server.port=80"
# - "traefik.http.routers.website-ssl.rule=Host(`kraut.world`)"
# - "traefik.http.routers.website-ssl.entryPoints=websecure"
# - "traefik.http.routers.website-ssl.tls=true"
# - "traefik.http.routers.website-ssl.service=website"
# - "traefik.http.routers.website-ssl.tls.certresolver=le"
# - "traefik.http.routers.website-ssl.tls.domains[0].main=kraut.world"
messages:
#image: thecodingmachine/nodejs:14
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:
- ./messages:/usr/src/app
- ./back:/usr/src/back
- ./front:/usr/src/front
- ./pusher:/usr/src/pusher