93 lines
2.7 KiB
YAML
93 lines
2.7 KiB
YAML
services:
|
|
web:
|
|
build:
|
|
context: ./web
|
|
container_name: sortarr-web
|
|
restart: unless-stopped
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${SORTARR_WEB_PORT:-8088}:80"
|
|
volumes:
|
|
- ./web/src:/usr/share/nginx/html:ro
|
|
- ./web/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
environment:
|
|
- TZ=${SORTARR_TZ:-Etc/UTC}
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
container_name: sortarr-backend
|
|
init: true
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "python", "-m", "sortarr.healthcheck"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
ports:
|
|
- "${SORTARR_API_PORT:-8099}:8099"
|
|
volumes:
|
|
- ${DOWNLOADS_PATH:-./downloads}:/downloads
|
|
- ${CONFIG_PATH:-./config}:/config
|
|
- ${LOGS_PATH:-./logs}:/logs
|
|
- ${DATA_PATH:-./data}:/data
|
|
- ${DRIVE1_PATH:-./media/drive1}:/media/drive1
|
|
- ${DRIVE2_PATH:-./media/drive2}:/media/drive2
|
|
- ${DRIVE3_PATH:-./media/drive3}:/media/drive3
|
|
- ${DRIVE4_PATH:-./media/drive4}:/media/drive4
|
|
environment:
|
|
- TZ=${SORTARR_TZ:-Etc/UTC}
|
|
- SORTARR_HOST=${SORTARR_HOST:-0.0.0.0}
|
|
- SORTARR_API_PORT=8099
|
|
- SORTARR_CONFIG=/config/app.toml
|
|
- SORTARR_DEFAULT_CONFIG=/app/default-config/app.toml
|
|
- SORTARR_DATA_DIR=/data
|
|
- SORTARR_LOG_DIR=/logs
|
|
- SORTARR_CACHE_DIR=/data/cache
|
|
- SORTARR_DRY_RUN=${SORTARR_DRY_RUN:-true}
|
|
- SORTARR_LOG_LEVEL=${SORTARR_LOG_LEVEL:-INFO}
|
|
- SORTARR_SCAN_INTERVAL_SECONDS=${SORTARR_SCAN_INTERVAL_SECONDS:-20}
|
|
- SORTARR_SETTLE_SECONDS=${SORTARR_SETTLE_SECONDS:-90}
|
|
- SORTARR_MIN_FREE_GB=${SORTARR_MIN_FREE_GB:-20}
|
|
- TMDB_API_KEY=${TMDB_API_KEY:-}
|
|
- TMDB_BEARER_TOKEN=${TMDB_BEARER_TOKEN:-}
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: sortarr-redis
|
|
profiles: ["cache"]
|
|
restart: unless-stopped
|
|
volumes:
|
|
- sortarr-redis:/data
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: sortarr-postgres
|
|
profiles: ["database"]
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: sortarr
|
|
POSTGRES_USER: sortarr
|
|
POSTGRES_PASSWORD: sortarr
|
|
volumes:
|
|
- sortarr-postgres:/var/lib/postgresql/data
|
|
|
|
media-tools:
|
|
image: lscr.io/linuxserver/ffmpeg:latest
|
|
container_name: sortarr-media-tools
|
|
profiles: ["tools"]
|
|
command: ["sleep", "infinity"]
|
|
volumes:
|
|
- ${DOWNLOADS_PATH:-./downloads}:/downloads
|
|
- ${DRIVE1_PATH:-./media/drive1}:/media/drive1
|
|
- ${DRIVE2_PATH:-./media/drive2}:/media/drive2
|
|
- ${DRIVE3_PATH:-./media/drive3}:/media/drive3
|
|
- ${DRIVE4_PATH:-./media/drive4}:/media/drive4
|
|
|
|
volumes:
|
|
sortarr-redis:
|
|
sortarr-postgres:
|