mirror of
https://github.com/michelleDeko/scalelite-run.git
synced 2025-12-16 14:22:11 +01:00
220 lines
7.5 KiB
YAML
220 lines
7.5 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}'
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:11-alpine
|
|
container_name: postgres
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER:-postgres}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
|
|
volumes:
|
|
- postgres-data-dev:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
image: redis:6.2-alpine
|
|
container_name: redis
|
|
restart: unless-stopped
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis-data-dev:/data
|
|
- ./data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
|
|
- ./data/certbot/conf/:/etc/letsencrypt
|
|
# command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
|
|
command: ["redis-server", "--appendonly", "yes"]
|
|
|
|
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-haproxy:
|
|
# image: haproxy:alpine
|
|
# container_name: scalelite-haproxy
|
|
# restart: always
|
|
# ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
# volumes:
|
|
# - ./data/proxy/haproxy/:/usr/local/etc/haproxy
|
|
# networks:
|
|
# - default
|
|
|
|
nginx:
|
|
image: nginx:1.18
|
|
# Custom nginx with amazonlinux
|
|
# image: blindsidenetwks/nginx:amazonlinux
|
|
container_name: nginx
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
- NGINX_DOMAINNAME=${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
volumes:
|
|
- ./log/proxy-nginx/:/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
|
|
depends_on:
|
|
- certbot
|
|
- scalelite-api
|
|
- scalelite-recordings
|
|
- greenlight
|
|
- greenlight-launcher
|
|
command: /bin/bash -c "envsubst '$$NGINX_DOMAINNAME' < /etc/nginx/sites.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
|
|
|
|
scalelite-recordings:
|
|
image: ${SCALELITE_RECORDINGS_DOCKER_IMAGE:-bigbluebutton/bbb-playback-proxy:bionic-240-alpine}
|
|
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.1}
|
|
container_name: scalelite-api
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
|
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
|
- RECORDING_DISABLED=${RECORDING_DISABLED-false}
|
|
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME-false}
|
|
- PROTECTED_RECORDINGS_ENABLED=${PROTECTED_RECORDINGS_ENABLED-false}
|
|
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
|
volumes:
|
|
- ./log/scalelite-api/:/srv/scalelite/log/
|
|
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
logging:
|
|
driver: journald
|
|
|
|
scalelite-poller:
|
|
image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.1}
|
|
container_name: scalelite-poller
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
|
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME-false}
|
|
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
|
volumes:
|
|
- ./log/scalelite-poller/:/app/log
|
|
command: /bin/sh -c "bin/start-poller"
|
|
depends_on:
|
|
- scalelite-api
|
|
logging:
|
|
driver: journald
|
|
|
|
scalelite-recording-importer:
|
|
image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.1}
|
|
container_name: scalelite-recording-importer
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
|
- RECORDING_DISABLED=false
|
|
- PROTECTED_RECORDINGS_ENABLED=${PROTECTED_RECORDINGS_ENABLED-false}
|
|
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
|
volumes:
|
|
- ./log/scalelite-recording-importer/:/app/log
|
|
- ${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
|
|
|
|
greenlight:
|
|
entrypoint: [bin/start]
|
|
image: ${GREENLIGHT_DOCKER_IMAGE:-bigbluebutton/greenlight:latest}
|
|
container_name: greenlight
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3180:80"
|
|
links:
|
|
- postgres
|
|
# volumes:
|
|
# - greenlight:/usr/src/app
|
|
logging:
|
|
driver: journald
|
|
env_file: ./data/greenlight/.env
|
|
environment:
|
|
- DOMAINNAME=${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}
|
|
- DATABASE_URL = postgresql://postgres:password@postgres:5432/greenlight_production
|
|
- DB_ADAPTER=postgresql
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
- DB_NAME=greenlight_production
|
|
- DB_USERNAME=postgres
|
|
- DB_PASSWORD=password
|
|
- BN_LAUNCHER_REDIRECT_URI=https://gll.${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
- GL_CALLBACK_URL=https://gl.${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
- GREENLIGHT_SESSION_DOMAIN=${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
# - LOADBALANCER_ENDPOINT=https://lb5.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}/loadbalancer/
|
|
# - RAILS_LOG_REMOTE_NAME=udp://logs.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}:1514
|
|
# - RAILS_LOG_REMOTE_TAG=gl.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}.com
|
|
# - REDIS_URL=redis://redis.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}:6379
|
|
# - SMTP_DOMAIN=${DOMAIN_ROOT:-blindside-dev.com}
|
|
# - SMTP_SENDER=no-reply@${DOMAIN_ROOT:-blindside-dev.com}
|
|
# - SMTP_SERVER=smtp.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}
|
|
# - URL_HOST=gl.${DOMAIN_SUB:-xlab}.${DOMAIN_ROOT:-blindside-dev.com}
|
|
|
|
greenlight-launcher:
|
|
entrypoint: [bin/start]
|
|
image: ${GREENLIGHT_LAUNCHER_DOCKER_IMAGE:-blindsidenetwks/greenlight-launcher:latest}
|
|
container_name: launcher
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3181:3000"
|
|
links:
|
|
- postgres
|
|
logging:
|
|
driver: journald
|
|
env_file: ./data/greenlight-launcher/.env
|
|
environment:
|
|
- DOMAINNAME=${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
- DB_ADAPTER=postgresql
|
|
- DB_HOST=postgres
|
|
- DB_NAME=greenlight_launcher_production
|
|
- DB_USERNAME=postgres
|
|
- DB_PASSWORD=password
|
|
- GL_CALLBACK_URL=https://gl.${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
- GREENLIGHT_HOST=https://gl.${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
- LAUNCHER_HOST=https://gll.${DOMAIN_NAME:-xlab.blindside-dev.com}
|
|
# - LOADBALANCER_ENDPOINT=https://lb5.${DOMAIN_NAME:-xlab.blindside-dev.com}/loadbalancer/
|