OnyxMunk/AudioForge
0
1# ============================================2# AudioForge - Development/Demo Configuration3# ============================================4# Fast startup for demonstrations5# Uses development mode with hot reload6 7version: '3.8'8 9services:10 # ============================================11 # Database Layer12 # ============================================13 postgres:14 image: postgres:16-alpine15 container_name: audioforge-postgres16 restart: unless-stopped17 environment:18 POSTGRES_USER: postgres19 POSTGRES_PASSWORD: postgres20 POSTGRES_DB: audioforge21 ports:22 - "5433:5432"23 volumes:24 - postgres_data:/var/lib/postgresql/data25 healthcheck:26 test: ["CMD-SHELL", "pg_isready -U postgres -d audioforge"]27 interval: 10s28 timeout: 5s29 retries: 530 networks:31 - audioforge-network32 33 # ============================================34 # Cache Layer35 # ============================================36 redis:37 image: redis:7-alpine38 container_name: audioforge-redis39 restart: unless-stopped40 ports:41 - "6380:6379"42 healthcheck:43 test: ["CMD", "redis-cli", "ping"]44 interval: 10s45 timeout: 5s46 retries: 547 networks:48 - audioforge-network49 50 # ============================================51 # Backend API (Development Mode)52 # ============================================53 backend:54 image: python:3.11-slim55 container_name: audioforge-backend56 working_dir: /app57 command: >58 bash -c "59 apt-get update && apt-get install -y --no-install-recommends ffmpeg libsndfile1 curl git build-essential &&60 pip install --no-cache-dir fastapi uvicorn[standard] pydantic pydantic-settings sqlalchemy asyncpg redis python-multipart structlog &&61 uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload62 "63 ports:64 - "8001:8000"65 environment:66 DATABASE_URL: postgresql+asyncpg://postgres:postgres@postgres:5432/audioforge67 REDIS_URL: redis://redis:6379/068 PYTHONUNBUFFERED: "1"69 ENVIRONMENT: "development"70 volumes:71 - ./backend:/app72 depends_on:73 postgres:74 condition: service_healthy75 redis:76 condition: service_healthy77 networks:78 - audioforge-network79 80 # ============================================81 # Frontend (Development Mode)82 # ============================================83 frontend:84 image: node:20-alpine85 container_name: audioforge-frontend86 working_dir: /app87 command: >88 sh -c "89 corepack enable &&90 corepack prepare pnpm@9.1.0 --activate &&91 pnpm install &&92 pnpm dev93 "94 ports:95 - "3000:3000"96 environment:97 NEXT_PUBLIC_API_URL: http://localhost:800198 NODE_ENV: development99 volumes:100 - ./frontend:/app101 - /app/node_modules102 - /app/.next103 depends_on:104 - backend105 networks:106 - audioforge-network107 108networks:109 audioforge-network:110 driver: bridge111 name: audioforge-network112 113volumes:114 postgres_data:115 name: audioforge-postgres-data