Initial haunt-fm implementation
Full music recommendation pipeline: listening history capture via webhook, Last.fm candidate discovery, iTunes preview download, CLAP audio embeddings (512-dim), pgvector cosine similarity recommendations, playlist generation with known/new track interleaving, and Music Assistant playback via HA. Includes: FastAPI app, SQLAlchemy models, Alembic migrations, Docker Compose with pgvector/pg17, status dashboard, and all API endpoints. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
23
.env.example
Normal file
23
.env.example
Normal file
@@ -0,0 +1,23 @@
|
||||
# PostgreSQL
|
||||
POSTGRES_DB=hauntfm
|
||||
POSTGRES_USER=hauntfm
|
||||
POSTGRES_PASSWORD=changeme
|
||||
|
||||
# Database URL (constructed in docker-compose, override for local dev)
|
||||
DATABASE_URL=postgresql+asyncpg://hauntfm:changeme@localhost:5432/hauntfm
|
||||
|
||||
# Last.fm API
|
||||
HAUNTFM_LASTFM_API_KEY=
|
||||
|
||||
# Home Assistant
|
||||
HAUNTFM_HA_URL=http://192.168.86.51:8123
|
||||
HAUNTFM_HA_TOKEN=
|
||||
|
||||
# CLAP model
|
||||
HAUNTFM_MODEL_CACHE_DIR=/app/model-cache
|
||||
HAUNTFM_AUDIO_CACHE_DIR=/app/audio-cache
|
||||
|
||||
# Embedding worker
|
||||
HAUNTFM_EMBEDDING_WORKER_ENABLED=true
|
||||
HAUNTFM_EMBEDDING_BATCH_SIZE=10
|
||||
HAUNTFM_EMBEDDING_INTERVAL_SECONDS=30
|
||||
Reference in New Issue
Block a user