mirror of
https://github.com/michelleDeko/scalelite-run.git
synced 2025-12-16 22:32:10 +01:00
148 lines
4.7 KiB
YAML
148 lines
4.7 KiB
YAML
version: '3'
|
|
|
|
volumes:
|
|
postgres-data-dev:
|
|
driver: local
|
|
driver_opts:
|
|
type: 'none'
|
|
o: 'bind'
|
|
device: '${DOCKER_VOL_POSTGRES_DATA}'
|
|
redis-data-dev:
|
|
driver: local
|
|
driver_opts:
|
|
type: 'none'
|
|
o: 'bind'
|
|
device: '${DOCKER_VOL_REDIS_DATA}'
|
|
scalelite-api-dev:
|
|
driver: local
|
|
driver_opts:
|
|
type: 'none'
|
|
o: 'bind'
|
|
device: '${DOCKER_VOL_SCALELITE_API}'
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:11-alpine
|
|
container_name: postgres
|
|
restart: unless-stopped
|
|
volumes:
|
|
- postgres-data-dev:/var/lib/postgresql/data
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER:-postgres}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
|
|
|
|
redis:
|
|
image: redis:5.0-alpine
|
|
command: ["redis-server", "--appendonly", "yes"]
|
|
container_name: redis
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redis-data-dev:/data
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
certbot:
|
|
image: certbot/certbot
|
|
container_name: certbot
|
|
volumes:
|
|
- ./log/certbot/:/var/log/letsencrypt
|
|
- ./data/certbot/conf/:/etc/letsencrypt
|
|
- ./data/certbot/www/:/var/www/certbot
|
|
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
|
|
|
scalelite-proxy:
|
|
image: nginx:1.18
|
|
container_name: scalelite-proxy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/proxy/nginx/log/:/var/log/nginx
|
|
- ./data/proxy/nginx/sites.template.${DOCKER_PROXY_NGINX_TEMPLATE:-scalelite-proxy}:/etc/nginx/sites.template
|
|
- ./data/proxy/nginx/sites-common:/etc/nginx/sites-common
|
|
- ./data/certbot/conf/:/etc/letsencrypt
|
|
- ./data/certbot/www/:/var/www/certbot
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
- NGINX_HOSTNAME=${URL_HOST:-xlab.blindside-dev.com}
|
|
depends_on:
|
|
- certbot
|
|
- scalelite-api
|
|
- scalelite-recordings
|
|
command: /bin/bash -c "envsubst '$$NGINX_HOSTNAME' < /etc/nginx/sites.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
|
|
logging:
|
|
driver: journald
|
|
|
|
scalelite-recordings:
|
|
image: bigbluebutton/bbb-playback-proxy:bionic-23-dev-alpine3.11
|
|
container_name: scalelite-recordings
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./log/recordings/:/var/log/nginx
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/published:/var/bigbluebutton/published
|
|
depends_on:
|
|
- scalelite-api
|
|
|
|
scalelite-recordings:
|
|
image: ${SCALELITE_RECORDINGS_DOCKER_IMAGE:-bigbluebutton/bbb-playback-proxy:bionic-230-amazonlinux}
|
|
container_name: scalelite-recordings
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./log/recordings/:/var/log/nginx
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/published:/var/bigbluebutton/published
|
|
depends_on:
|
|
- scalelite-api
|
|
|
|
scalelite-api:
|
|
image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.0}
|
|
container_name: scalelite-api
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./log/scalelite/:/app/log
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
|
environment:
|
|
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
|
|
- LOADBALANCER_SECRET=${LOADBALANCER_SECRET}
|
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
|
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
|
- RECORDING_DISABLED=${RECORDING_DISABLED-false}
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
logging:
|
|
driver: journald
|
|
|
|
scalelite-poller:
|
|
image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.0}
|
|
container_name: scalelite-poller
|
|
restart: unless-stopped
|
|
environment:
|
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
|
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
|
command: /bin/sh -c "bin/start-poller"
|
|
depends_on:
|
|
- scalelite-api
|
|
logging:
|
|
driver: journald
|
|
|
|
scalelite-recording-importer:
|
|
image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.0}
|
|
container_name: scalelite-recording-importer
|
|
restart: unless-stopped
|
|
environment:
|
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
|
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
|
- RECORDING_DISABLED=false
|
|
volumes:
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/spool:/var/bigbluebutton/spool
|
|
command: /bin/sh -c "bin/start-recording-importer"
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- scalelite-api
|
|
logging:
|
|
driver: journald
|