Files
lyssnarr/backend/src/config.js
claude aea7ec3ca7
All checks were successful
build-and-push / build (push) Successful in 12s
Inställningssida med Spara & testa för Gemini/Jellyfin + statustester
- settings.json i /data (UI-värden har företräde framför env), hemligheter
  maskeras i GET (bara apiKeySet-flagga)
- POST /api/settings/test kör live-test per tjänst: Gemini (nyckel+modell),
  Jellyfin (System/Info + användarlista för dropdown), Lidarr, Youtubarr
  (healthz + db-mount)
- Inställningssida (kugghjulet): Spara & testa i samma steg per sektion,
  Jellyfin-användarväljare fylls från lyckat test
- 6 nya tester, totalt 17

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

29 lines
936 B
JavaScript

export function loadConfig(env = process.env) {
return {
port: Number(env.PORT ?? 3000),
host: env.HOST ?? '0.0.0.0',
appPassword: env.APP_PASSWORD ?? '',
sessionSecret: env.SESSION_SECRET ?? '',
dataDir: env.DATA_DIR ?? '/data',
lidarr: {
url: env.LIDARR_URL ?? 'http://lidarr:8686',
apiKey: env.LIDARR_API_KEY ?? '',
qualityProfileId: Number(env.LIDARR_QUALITY_PROFILE_ID ?? 3),
metadataProfileId: Number(env.LIDARR_METADATA_PROFILE_ID ?? 1),
rootFolder: env.LIDARR_ROOT_FOLDER ?? '/music',
},
jellyfin: {
url: env.JELLYFIN_URL ?? 'http://jellyfin:8096',
apiKey: env.JELLYFIN_API_KEY ?? '',
},
gemini: {
apiKey: env.GEMINI_API_KEY ?? '',
model: env.GEMINI_MODEL ?? 'gemini-2.5-flash',
},
youtubarr: {
url: env.YOUTUBARR_URL ?? 'http://youtubarr',
dbPath: env.YOUTUBARR_DB ?? '/youtubarr-data/db.sqlite3',
},
}
}