All host ports are now configurable via .env variables with sensible defaults. This prevents collisions when deploying alongside existing services on TrueNAS or any other host.
99 lines
2.4 KiB
YAML
99 lines
2.4 KiB
YAML
services:
|
|
db:
|
|
image: postgres:16
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./services/mam-api/src/db/schema.sql:/docker-entrypoint-initdb.d/001-schema.sql:ro
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- wild-dragon
|
|
|
|
queue:
|
|
image: redis:7-alpine
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- wild-dragon
|
|
|
|
mam-api:
|
|
build: ./services/mam-api
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
queue:
|
|
condition: service_started
|
|
ports:
|
|
- "${PORT_MAM_API:-7432}:3000"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
environment:
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
REDIS_URL: ${REDIS_URL}
|
|
S3_ENDPOINT: ${S3_ENDPOINT}
|
|
S3_BUCKET: ${S3_BUCKET}
|
|
S3_ACCESS_KEY: ${S3_ACCESS_KEY}
|
|
S3_SECRET_KEY: ${S3_SECRET_KEY}
|
|
S3_REGION: ${S3_REGION:-us-east-1}
|
|
SESSION_SECRET: ${SESSION_SECRET}
|
|
AUTH_ENABLED: ${AUTH_ENABLED:-false}
|
|
DOCKER_NETWORK: wild-dragon_wild-dragon
|
|
networks:
|
|
- wild-dragon
|
|
|
|
capture:
|
|
build: ./services/capture
|
|
depends_on:
|
|
- mam-api
|
|
ports:
|
|
- "${PORT_CAPTURE:-7433}:3001"
|
|
- "${PORT_RTMP:-1935}:1935" # RTMP ingest (listener mode)
|
|
- "${PORT_SRT:-9000}:9000/udp" # SRT ingest (listener mode)
|
|
privileged: true
|
|
environment:
|
|
S3_ENDPOINT: ${S3_ENDPOINT}
|
|
S3_BUCKET: ${S3_BUCKET}
|
|
S3_ACCESS_KEY: ${S3_ACCESS_KEY}
|
|
S3_SECRET_KEY: ${S3_SECRET_KEY}
|
|
S3_REGION: ${S3_REGION:-us-east-1}
|
|
MAM_API_URL: ${MAM_API_URL:-http://mam-api:3000}
|
|
networks:
|
|
- wild-dragon
|
|
|
|
worker:
|
|
build: ./services/worker
|
|
depends_on:
|
|
- queue
|
|
- db
|
|
environment:
|
|
REDIS_URL: ${REDIS_URL}
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
S3_ENDPOINT: ${S3_ENDPOINT}
|
|
S3_BUCKET: ${S3_BUCKET}
|
|
S3_ACCESS_KEY: ${S3_ACCESS_KEY}
|
|
S3_SECRET_KEY: ${S3_SECRET_KEY}
|
|
S3_REGION: ${S3_REGION:-us-east-1}
|
|
networks:
|
|
- wild-dragon
|
|
|
|
web-ui:
|
|
build: ./services/web-ui
|
|
ports:
|
|
- "${PORT_WEB_UI:-7434}:80"
|
|
networks:
|
|
- wild-dragon
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
|
|
networks:
|
|
wild-dragon:
|
|
driver: bridge
|