mirror of
https://github.com/bnair123/MusicAnalyser.git
synced 2026-02-25 11:46:07 +00:00
- Added hierarchical AGENTS.md knowledge base - Implemented PlaylistService with 6h themed and 24h devotion mix logic - Integrated AI theme generation for 6h playlists via Gemini/OpenAI - Added /playlists/refresh and metadata endpoints to API - Updated background worker with scheduled playlist curation - Created frontend PlaylistsSection, Tooltip components and integrated into Dashboard - Added Alembic migration for playlist tracking columns - Fixed Docker healthcheck with curl installation
68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
# MusicAnalyser Docker Compose Template
|
|
# Copy this file to docker-compose.yml and fill in your values
|
|
# Or use environment variables / .env file
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
image: ghcr.io/bnair123/musicanalyser:latest
|
|
container_name: music-analyser-backend
|
|
restart: unless-stopped
|
|
volumes:
|
|
- music_data:/app/data
|
|
environment:
|
|
- DATABASE_URL=sqlite:////app/data/music.db
|
|
# Required: Spotify API credentials
|
|
- SPOTIFY_CLIENT_ID=your_spotify_client_id_here
|
|
- SPOTIFY_CLIENT_SECRET=your_spotify_client_secret_here
|
|
- SPOTIFY_REFRESH_TOKEN=your_spotify_refresh_token_here
|
|
# Required: AI API key (choose one)
|
|
- OPENAI_API_KEY=your_openai_api_key_here
|
|
# OR
|
|
- GEMINI_API_KEY=your_gemini_api_key_here
|
|
# Optional: Genius for lyrics
|
|
- GENIUS_ACCESS_TOKEN=your_genius_token_here
|
|
# Optional: Spotify Playlist IDs (will be created if not provided)
|
|
- SIX_HOUR_PLAYLIST_ID=your_playlist_id_here
|
|
- DAILY_PLAYLIST_ID=your_playlist_id_here
|
|
ports:
|
|
- '8000:8000'
|
|
networks:
|
|
- dockernet
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/snapshots?limit=1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
image: ghcr.io/bnair123/musicanalyser-frontend:latest
|
|
container_name: music-analyser-frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
- '8991:80'
|
|
networks:
|
|
- dockernet
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
music_data:
|
|
driver: local
|
|
|
|
networks:
|
|
dockernet:
|
|
external: true
|
|
# If you don't have an external dockernet, create it with:
|
|
# docker network create dockernet
|
|
# Or change to:
|
|
# dockernet:
|
|
# driver: bridge
|