Files
scalelite-run/docker-compose.yml
Lukas Schmitt 6e8cb56a9f Update docker-compose.yml
Removed external port for docker-containers. By default the ports should not be open. Especially if the server can be reached from the Internet. If you want to connect to these services from outside, you can go through an SSH tunnel if in doubt.
2020-07-08 12:46:03 +02:00

104 lines
3.2 KiB
YAML

version: '3'
volumes:
postgres-data:
redis-data:
services:
postgres:
image: postgres:11.5-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}
redis:
image: redis:5.0-alpine
container_name: redis
restart: on-failure
volumes:
- redis-data:/data
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-nginx:
image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-nginx
container_name: scalelite-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
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
- ${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
container_name: scalelite-api
restart: unless-stopped
ports:
- "3000:3000"
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}
- URL_HOST=${URL_HOST}
depends_on:
- postgres
- redis
logging:
driver: journald
scalelite-poller:
image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-poller
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}
depends_on:
- postgres
- redis
- scalelite-api
logging:
driver: journald
scalelite-recording-importer:
image: ${SCALELITE_REPO:-blindsidenetwks}/scalelite:${SCALELITE_TAG:-v1}-recording-importer
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}
volumes:
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/spool:/var/bigbluebutton/spool
depends_on:
- postgres
- redis
- scalelite-api
logging:
driver: journald