docker-compose.dev.yml
Rama main · réplica de lectura del repositorio original.
version: "3.8"
services:
fade-out:
build:
context: .
target: runtime
container_name: fade-out-dev
restart: "no"
ports:
- "8500:8000"
volumes:
# Mount backend source for live reload
- ./backend:/app/backend
# Mount frontend build output (built by vite dev or separate build)
- ./frontend/dist:/app/frontend/dist
# Local watch directories for development. Audio + video are read-write
# so the optional source-file renaming feature can be exercised locally;
# see the note in docker-compose.yml.
- ./dev/watch/audio:/watch/audio:rw
- ./dev/watch/video:/watch/video:rw
- ./dev/watch/djctl-cue:/watch/djctl-cue:ro
# Local output directories
- ./dev/output/thumbnails:/output/thumbnails
- ./dev/output/cover-art:/output/cover-art
# Persistent data
- ./data:/data
environment:
- TZ=${TZ:-UTC}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- FAL_API_KEY=${FAL_API_KEY}
- SOUNDCLOUD_EMAIL=${SOUNDCLOUD_EMAIL}
- SOUNDCLOUD_PASSWORD=${SOUNDCLOUD_PASSWORD}
- YOUTUBE_CLIENT_ID=${YOUTUBE_CLIENT_ID}
- YOUTUBE_CLIENT_SECRET=${YOUTUBE_CLIENT_SECRET}
- YOUTUBE_REFRESH_TOKEN=${YOUTUBE_REFRESH_TOKEN}
- NOTIFICATION_DISCORD_WEBHOOK_URL=${NOTIFICATION_DISCORD_WEBHOOK_URL}
- GITHUB_TOKEN=${GITHUB_TOKEN:-}
- DEBUG=1
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
frontend:
image: node:20-alpine
container_name: fade-out-frontend-dev
restart: "no"
working_dir: /app/frontend
ports:
- "5173:5173"
volumes:
- ./frontend:/app/frontend
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0"]
environment:
- VITE_API_URL=http://localhost:8500