claude 94065f6c11
All checks were successful
build-and-push / build (push) Successful in 44s
Förslagsmotorn: Generera-knapp, schema, diskcache och bläddringssida
- suggest.js: samlar signaler (Lidarr-bibliotek, Jellyfin senast spelat,
  Youtubarr-DB senast tillagt/gillat via better-sqlite3 ro), bygger svensk
  Gemini-prompt (JSON-svar), berikar förslagen med MBID/omslag via Lidarrs
  metadata-API, cachar batcher i /data/suggestions.json
- API: POST /api/suggest/run, GET latest (10 senaste till Upptäck),
  GET batches + batches/:id (bläddring)
- Schemaläggare i server.js: kollar var 10:e minut mot inställningen
  suggest.intervalHours (default 24, 0 = av) — ställs in under ⚙
- Upptäck: senaste 10 som kort med motivering + ' Generera nya förslag';
  ny Förslag-sida bläddrar alla cachade batcher; delat MusicCard-kort
  (sök + förslag) med Hämta-knapp
- Dockerfile: byggverktyg för better-sqlite3; 4 nya tester, totalt 25

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01824ZrvG2mDYYrmwqypLNup
2026-08-01 01:43:07 +02:00

lyssnarr

Self-hosted music discovery for the Pi5 — a Jellyseerr-style web UI that finds new music for you. Search for artists/albums/tracks, get scheduled AI-generated suggestions (Gemini) based on what you recently listened to and what you add to your YouTube Music playlists, and add anything to Lidarr with one click — or play it inline / open it in YouTube Music.

See doc/plan.md for the agreed plan and the Gitea wiki for architecture notes.

Prerequisites (dev box = Arch/Garuda)

sudo pacman -S nodejs npm     # node >= 20

Build & run

git clone gitea-claude:brasse/lyssnarr.git
cd lyssnarr
npm run setup                 # installs backend + frontend deps
npm run build                 # -> ./build/ (frontend dist + backend)
npm run dev                   # dev servers (Vite + Fastify, hot reload)
npm test

Runtime configuration

All secrets live in the Dockge stack .env on the Pi5 — never in the repo. Key variables (full list in doc/plan.md):

Var What
GEMINI_API_KEY Google AI Studio key for suggestion generation
LIDARR_URL / LIDARR_API_KEY Lidarr instance to add music to
SESSION_SECRET cookie signing
APP_PASSWORD_HASH bcrypt hash for the single-user login

Deploy

CI (.gitea/workflows/build.yaml) builds the arm64 image on the Pi5 runner and pushes localhost:5000/lyssnarr:latest; the Dockge stack /srv/dockge-staks/lyssnarr/ runs it behind NPM as https://lyssnarr.brasse-pc.eu.

Description
Arr server to find music basset on yt musik and local lisening
Readme 307 KiB
Languages
JavaScript 62.3%
Vue 35.7%
CSS 0.9%
Dockerfile 0.8%
HTML 0.3%