services: backend: build: context: . dockerfile: web/backend/Dockerfile volumes: # Bind mount for source code (hot-reload for Python) - ./web/backend:/app/backend - ./audio_splitter:/app/audio_splitter - ./setup.py:/app/setup.py - ./pyproject.toml:/app/pyproject.toml # Development data directory (overrides production) - "./dev_data:/tmp/audio_splitter_web" environment: - DEBUG=1 - PYTHONUNBUFFERED=1 ports: - "8000:8000" frontend: build: context: ./web/frontend # Use the same Dockerfile, but override CMD for development dockerfile: Dockerfile command: ["npm", "run", "dev", "--", "--host", "0.0.0.0"] volumes: # Bind mount for source code (hot-reload for Vite) - ./web/frontend:/app - node_modules:/app/node_modules environment: - BACKEND_URL=http://backend:8000 - VITE_BACKEND_URL=http://backend:8000 ports: - "5173:5173" volumes: node_modules: