# Kima Dev Services # Run alongside npm dev servers for audio analysis # # Usage: # docker compose -f docker-compose.dev.yml up -d # # This runs: # - PostgreSQL (port 5433) # - Redis (port 6379) # - Audio Analyzer with ML models (Enhanced vibe matching) services: postgres: image: postgres:16-alpine container_name: kima_dev_db environment: POSTGRES_USER: kima POSTGRES_PASSWORD: kima POSTGRES_DB: kima volumes: - postgres_dev_data:/var/lib/postgresql/data ports: - "5433:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U kima -d kima"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: kima_dev_redis ports: - "6380:6379" restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 # Audio Analyzer - Essentia with ML models for Enhanced vibe matching audio-analyzer: build: context: ./services/audio-analyzer container_name: kima_audio_analyzer environment: # Connect to host machine's services (or Docker services) REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://kima:kima@postgres:5432/kima # Music path inside container (mounted from host) MUSIC_PATH: /music BATCH_SIZE: 10 SLEEP_INTERVAL: 5 BRPOP_TIMEOUT: 10 MODEL_IDLE_TIMEOUT: 60 volumes: # Mount your music library - UPDATE THIS PATH - "${MUSIC_PATH:-C:/Users/kevin/Music}:/music:ro" depends_on: postgres: condition: service_healthy redis: condition: service_healthy restart: unless-stopped volumes: postgres_dev_data: