89 lines
3.0 KiB
YAML
89 lines
3.0 KiB
YAML
version: "3.3"
|
|
services:
|
|
reverse-proxy:
|
|
image: traefik:v2.5
|
|
command:
|
|
- --log.level=WARN
|
|
- --providers.docker
|
|
- --entryPoints.web.address=:80
|
|
ports:
|
|
- "9999:80" # port is used to proxy through apache with ssl
|
|
depends_on:
|
|
- pusher
|
|
- front
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
front:
|
|
build:
|
|
context: ./
|
|
dockerfile: front/Dockerfile
|
|
args:
|
|
DEBUG_MODE: "$DEBUG_MODE"
|
|
JITSI_URL: $JITSI_URL
|
|
JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
|
|
PUSHER_URL: /pusher
|
|
ADMIN_URL: /admin # this is only set to avoid compiling errors, currently not used otherways
|
|
TURN_SERVER: "${TURN_SERVER}"
|
|
TURN_USER: "${TURN_USER}"
|
|
TURN_PASSWORD: "${TURN_PASSWORD}"
|
|
MAX_PER_GROUP: "${MAX_PER_GROUP}"
|
|
MAX_USERNAME_LENGTH: "${MAX_USERNAME_LENGTH}"
|
|
START_ROOM_URL: "${START_ROOM_URL}"
|
|
DISABLE_NOTIFICATIONS: "${DISABLE_NOTIFICATIONS}"
|
|
SKIP_RENDER_OPTIMIZATIONS: "${SKIP_RENDER_OPTIMIZATIONS}"
|
|
labels:
|
|
- "traefik.http.routers.front.rule=PathPrefix(`/`)"
|
|
- "traefik.http.routers.front.entryPoints=web"
|
|
- "traefik.http.services.front.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.front.service=front"
|
|
|
|
pusher:
|
|
build:
|
|
context: ./
|
|
dockerfile: pusher/Dockerfile
|
|
environment:
|
|
SECRET_JITSI_KEY: "${SECRET_JITSI_KEY}"
|
|
SECRET_KEY: ${SECRET_KEY}
|
|
API_URL: back:50051
|
|
ADMIN_API_URL: "${ADMIN_API_URL}"
|
|
ADMIN_API_TOKEN: "${ADMIN_API_TOKEN}"
|
|
JITSI_URL: ${JITSI_URL}
|
|
JITSI_ISS: ${JITSI_ISS}
|
|
FRONT_URL : ${FRONT_URL}
|
|
OPID_CLIENT_ID: ${OPID_CLIENT_ID}
|
|
OPID_CLIENT_SECRET: ${OPID_CLIENT_SECRET}
|
|
OPID_CLIENT_ISSUER: ${OPID_CLIENT_ISSUER}
|
|
labels:
|
|
- "traefik.http.middlewares.strip-pusher-prefix.stripprefix.prefixes=/pusher"
|
|
- "traefik.http.routers.pusher.rule=PathPrefix(`/pusher`)"
|
|
- "traefik.http.routers.pusher.middlewares=strip-pusher-prefix@docker"
|
|
- "traefik.http.routers.pusher.entryPoints=web"
|
|
- "traefik.http.services.pusher.loadbalancer.server.port=8080"
|
|
- "traefik.http.routers.pusher.service=pusher"
|
|
|
|
back:
|
|
build:
|
|
context: ./
|
|
dockerfile: back/Dockerfile
|
|
environment:
|
|
SECRET_KEY: ${SECRET_KEY}
|
|
STARTUP_COMMAND_1: yarn install
|
|
SECRET_JITSI_KEY: "${SECRET_JITSI_KEY}"
|
|
ADMIN_API_TOKEN: "${ADMIN_API_TOKEN}"
|
|
ADMIN_API_URL: "${ADMIN_API_URL}"
|
|
JITSI_URL: ${JITSI_URL}
|
|
JITSI_ISS: ${JITSI_ISS}
|
|
MAX_PER_GROUP: ${MAX_PER_GROUP}
|
|
TURN_STATIC_AUTH_SECRET: "${TURN_STATIC_AUTH_SECRET}"
|
|
REDIS_HOST: redis
|
|
labels:
|
|
- "traefik.http.middlewares.strip-api-prefix.stripprefix.prefixes=/api"
|
|
- "traefik.http.routers.back.rule=PathPrefix(`/api`)"
|
|
- "traefik.http.routers.back.middlewares=strip-api-prefix@docker"
|
|
- "traefik.http.routers.back.entryPoints=web"
|
|
- "traefik.http.services.back.loadbalancer.server.port=8080"
|
|
- "traefik.http.routers.back.service=back"
|
|
|
|
redis:
|
|
image: redis:6 |