73 lines
2.6 KiB
YAML
73 lines
2.6 KiB
YAML
services:
|
|
ganymede:
|
|
container_name: ganymede
|
|
image: ghcr.io/zibbp/ganymede:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- ganymede-db
|
|
environment:
|
|
- DEBUG=false
|
|
- TZ=America/Chicago # Set to your timezone
|
|
# Data paths in container; update the mounted volume paths as well
|
|
- VIDEOS_DIR=/data/videos
|
|
- TEMP_DIR=/data/temp
|
|
- LOGS_DIR=/data/logs
|
|
- CONFIG_DIR=/data/config
|
|
# Database settings
|
|
- DB_HOST=ganymede-db
|
|
- DB_PORT=5432
|
|
- DB_USER=ganymede
|
|
- DB_PASS=${POSTGRES_PASSWORD}
|
|
- DB_NAME=ganymede-prd
|
|
- DB_SSL=disable
|
|
# - DB_SSL_ROOT_CERT= # path to cert in the container if DB_SSL is not disabled
|
|
- TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID} # from your twitch application
|
|
- TWITCH_CLIENT_SECRET=${TWITCH_CLIENT_SECRET} # from your twitch application
|
|
# Worker settings. Max number of tasks to run in parallel per type.
|
|
- MAX_CHAT_DOWNLOAD_EXECUTIONS=3
|
|
- MAX_CHAT_RENDER_EXECUTIONS=2
|
|
- MAX_VIDEO_DOWNLOAD_EXECUTIONS=2
|
|
- MAX_VIDEO_CONVERT_EXECUTIONS=3
|
|
- MAX_VIDEO_SPRITE_THUMBNAIL_EXECUTIONS=2
|
|
# Optional OAuth settings
|
|
# - OAUTH_ENABLED=false
|
|
# - OAUTH_PROVIDER_URL=
|
|
# - OAUTH_CLIENT_ID=
|
|
# - OAUTH_CLIENT_SECRET=
|
|
# - OAUTH_REDIRECT_URL=http://IP:PORT/api/v1/auth/oauth/callback # Points to the API service
|
|
# Optional Frontend settings
|
|
- SHOW_SSO_LOGIN_BUTTON=true
|
|
- FORCE_SSO_AUTH=false
|
|
- REQUIRE_LOGIN=false
|
|
# - CDN_URL= # Set this if you are hosting static files through another service (nginx, S3, etc). By default this does not need to be configured as Ganymede serves the static files.
|
|
volumes:
|
|
- /mnt/ganymede:/data/videos # update VIDEOS_DIR env var
|
|
- /mnt/temp/ganymede/temp:/data/temp # update TEMP_DIR env var
|
|
- /home/docker/ganymede/logs:/data/logs # queue logs
|
|
- /home/docker/ganymede/config:/data/config # config and other miscellaneous files
|
|
ports:
|
|
- 4800:4000
|
|
healthcheck:
|
|
test: curl --fail http://localhost:4000/health || exit 1
|
|
interval: 60s
|
|
retries: 5
|
|
start_period: 60s
|
|
timeout: 10s
|
|
ganymede-db:
|
|
container_name: ganymede-db
|
|
image: postgres:14
|
|
volumes:
|
|
- /home/docker/ganymede/ganymede-db:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_USER=ganymede
|
|
- POSTGRES_DB=ganymede-prd
|
|
ports:
|
|
- 4801:5432
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 30s
|
|
timeout: 60s
|
|
retries: 5
|
|
start_period: 60s
|