53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
# ── Production compose — KHÔNG mount source, image từ registry, bí mật qua .env ──
|
|
# Dùng: docker compose -f docker-compose.prod.yml up -d
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
|
|
web:
|
|
image: ${IMAGE:-sonicforge-studio:latest}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${WEB_PORT:-8000}:8000"
|
|
env_file: .env
|
|
volumes:
|
|
- sf_data:/app/app/storage
|
|
- ${VST3_DIR:-./vst_plugins}:/opt/daw_engine/vst3:ro
|
|
- ${SOUNDFONTS_DIR:-./soundfonts}:/opt/daw_engine/soundfonts:ro
|
|
- ${PIANOBOOK_DIR:-./samples/pianobook}:/opt/daw_engine/samples/pianobook:ro
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request;urllib.request.urlopen('http://localhost:8000/health')"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 15s
|
|
depends_on:
|
|
- redis
|
|
|
|
worker:
|
|
image: ${IMAGE:-sonicforge-studio:latest}
|
|
restart: unless-stopped
|
|
command: celery -A app.tasks.worker.celery_app worker --loglevel=info
|
|
env_file: .env
|
|
volumes:
|
|
- sf_data:/app/app/storage
|
|
- ${VST3_DIR:-./vst_plugins}:/opt/daw_engine/vst3:ro
|
|
- ${SOUNDFONTS_DIR:-./soundfonts}:/opt/daw_engine/soundfonts:ro
|
|
- ${PIANOBOOK_DIR:-./samples/pianobook}:/opt/daw_engine/samples/pianobook:ro
|
|
depends_on:
|
|
- redis
|
|
|
|
beat:
|
|
image: ${IMAGE:-sonicforge-studio:latest}
|
|
restart: unless-stopped
|
|
command: celery -A app.tasks.worker.celery_app beat --loglevel=info
|
|
env_file: .env
|
|
volumes:
|
|
- sf_data:/app/app/storage
|
|
depends_on:
|
|
- redis
|
|
|
|
volumes:
|
|
sf_data:
|