Files
audio-engine-hub/docker-compose.yml
2025-12-04 11:58:36 +01:00

45 lines
1.3 KiB
YAML

version: '3.8'
services:
app:
build: .
container_name: audio_engine_hub_app
restart: unless-stopped
volumes:
# Mount local app directory for hot-reloading in dev
- ./app:/home/appuser/app
# Mount models directory to provide models to the container
- ./models:/home/appuser/models
# Mount asset directory to persist generated audio files
- ./asset:/home/appuser/asset
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
env_file:
- .env
labels:
- "traefik.enable=true"
- "traefik.http.routers.app-router.rule=Host(`localhost`)"
- "traefik.http.routers.app-router.entrypoints=web"
- "traefik.http.services.app-service.loadbalancer.server.port=8000"
networks:
- web
traefik:
image: "traefik:v2.10"
container_name: traefik_proxy
command:
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80" # The HTTP port Traefik listens on
- "8080:8080" # The Traefik Web UI (Dashboard)
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro" # Traefik needs access to the Docker daemon
networks:
- web
networks:
web:
external: false