59 lines
1.4 KiB
YAML
59 lines
1.4 KiB
YAML
services:
|
|
# Default service: works on Docker Desktop (Windows/macOS) and Linux.
|
|
# Exposes HTTP and a *range* of UDP ports for triggers.
|
|
# Keep your Event UDP ports within this published range.
|
|
syncplayer:
|
|
build: .
|
|
|
|
ports:
|
|
- "5000:5000/tcp"
|
|
# UDP trigger ports (edit range if needed)
|
|
- "7000-7999:7000-7999/udp"
|
|
|
|
environment:
|
|
# Persistent data root inside container (mounted below)
|
|
DATA_DIR: /data
|
|
MEDIA_DIR: /data/media
|
|
LOG_DIR: /data/logs
|
|
|
|
# Flask-SocketIO async backend for Linux containers
|
|
ASYNC_MODE: eventlet
|
|
|
|
# App bind settings (when using host networking, PORT must match gunicorn bind)
|
|
HOST: 0.0.0.0
|
|
PORT: 5000
|
|
|
|
# Change this in production
|
|
SECRET_KEY: change-me
|
|
|
|
# Keep CORS permissive for LAN kiosk browsers
|
|
CORS_ORIGINS: "*"
|
|
|
|
volumes:
|
|
- ./data:/data
|
|
|
|
restart: unless-stopped
|
|
|
|
# Optional: host-networked service for Linux hosts.
|
|
# Use: docker compose --profile hostnet up -d --build
|
|
# This avoids needing to pre-declare UDP ports (dynamic ports just work).
|
|
syncplayer-host:
|
|
profiles: ["hostnet"]
|
|
build: .
|
|
network_mode: host
|
|
|
|
environment:
|
|
DATA_DIR: /data
|
|
MEDIA_DIR: /data/media
|
|
LOG_DIR: /data/logs
|
|
ASYNC_MODE: eventlet
|
|
HOST: 0.0.0.0
|
|
PORT: 5000
|
|
SECRET_KEY: change-me
|
|
CORS_ORIGINS: "*"
|
|
|
|
volumes:
|
|
- ./data:/data
|
|
|
|
restart: unless-stopped
|