mirror of
https://github.com/bnair123/MusicAnalyser.git
synced 2026-02-25 11:46:07 +00:00
Major changes: - Add skip tracking: poll currently-playing every 15s, detect skips (<30s listened) - Add listening-log and sessions API endpoints - Fix ReccoBeats client to extract spotify_id from href response - Compress heatmap from 24 hours to 6 x 4-hour blocks - Add OpenAI support in narrative service (use max_completion_tokens for new models) - Add ListeningLog component with timeline and list views - Update all frontend components to use real data (album art, play counts) - Add docker-compose external network (dockernet) support - Add comprehensive documentation (API, DATA_MODEL, ARCHITECTURE, FRONTEND) - Add unit tests for ingest and API endpoints
53 lines
1.2 KiB
YAML
53 lines
1.2 KiB
YAML
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
|
|
- SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID}
|
|
- SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET}
|
|
- SPOTIFY_REFRESH_TOKEN=${SPOTIFY_REFRESH_TOKEN}
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
|
- GENIUS_ACCESS_TOKEN=${GENIUS_ACCESS_TOKEN}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
- OPENAI_APIKEY=${OPENAI_APIKEY}
|
|
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
|