summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml87
1 files changed, 55 insertions, 32 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
index e8b9b03..e1dad4e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,61 +9,77 @@ services:
image: postgres:11-alpine
container_name: postgres
restart: unless-stopped
- volumes:
- - postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
+ volumes:
+ - postgres-data:/var/lib/postgresql/data
redis:
- image: redis:5.0-alpine
- command: ["redis-server", "--appendonly", "yes"]
+ image: redis:6.2-alpine
container_name: redis
restart: unless-stopped
volumes:
- redis-data:/data
+ - ./data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
+ - ./data/certbot/conf/:/etc/letsencrypt
+ 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
+ - ./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-nginx:
- image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-nginx
- container_name: scalelite-nginx
+ scalelite-proxy:
+ image: nginx:1.18
+ container_name: scalelite-proxy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
+ environment:
+ - NGINX_HOSTNAME=${URL_HOST:-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
+ command: /bin/bash -c "envsubst '$$NGINX_HOSTNAME' < /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-230-alpine}
+ container_name: scalelite-recordings
+ restart: unless-stopped
volumes:
- - ./log/nginx/:/var/log/nginx
- - ./data/certbot/conf:/etc/nginx/ssl
- - ./data/certbot/www:/var/www/certbot
- - ./data/nginx/scalelite:/etc/nginx/conf.d/scalelite
+ - ./log/recordings/:/var/log/nginx
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/published:/var/bigbluebutton/published
- environment:
- - NGINX_SSL=${NGINX_SSL-true}
- - URL_HOST=${URL_HOST}
depends_on:
- scalelite-api
scalelite-api:
- image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-api
+ image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.1}
container_name: scalelite-api
restart: unless-stopped
- volumes:
- - ./log/scalelite/:/app/log
- - ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
+ env_file:
+ - .env
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}
- - URL_HOST=${URL_HOST}
+ - RECORDING_DISABLED=${RECORDING_DISABLED-false}
+ - SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME-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
@@ -71,32 +87,39 @@ services:
driver: journald
scalelite-poller:
- image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-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}
- - DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
+ - 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:
- - postgres
- - redis
- scalelite-api
logging:
driver: journald
scalelite-recording-importer:
- image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-recording-importer
+ image: ${SCALELITE_DOCKER_IMAGE:-blindsidenetwks/scalelite:v1.1}
container_name: scalelite-recording-importer
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=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