Configuration
MusicSeerr is configured through its web UI at Settings. All settings are saved to the /app/config volume.
The Settings page has the following tabs: Release Preferences, Last.fm, ListenBrainz, Scrobbling, Music Source, Jellyfin, Navidrome, Lidarr Connection, Library Sync, YouTube, Local Files, Cache, and Advanced.
Lidarr Connection
Lidarr is the core integration. It manages your music library and handles album requests.
| Setting | Description |
|---|---|
| Lidarr URL | Your Lidarr instance URL (e.g. http://lidarr:8686) |
| API Key | Found in Lidarr -> Settings -> General |
| Quality Profile | Default quality profile for new artist additions |
| Metadata Profile | Controls which release types Lidarr monitors |
| Root Folder | Where Lidarr stores downloaded music |
After connecting, MusicSeerr syncs your library automatically. You can set the sync frequency to manual, 5 minutes, 10 minutes, 30 minutes, or 1 hour under the Library Sync tab.
Jellyfin
Connect Jellyfin to stream music, browse your Jellyfin library, and report playback progress.
| Setting | Description |
|---|---|
| Jellyfin URL | Your Jellyfin server URL |
| API Key | Generated in Jellyfin -> Dashboard -> API Keys |
| User ID | The Jellyfin user ID for personalised data |
Navidrome
Connect Navidrome to stream music and browse your Navidrome library. MusicSeerr communicates with Navidrome through its Subsonic API.
| Setting | Description |
|---|---|
| Navidrome URL | Your Navidrome server URL |
| Username | Your Navidrome username |
| Password | Your Navidrome password |
ListenBrainz
ListenBrainz powers personalised recommendations, trending data, and listening history. It can also receive scrobbles.
| Setting | Description |
|---|---|
| Username | Your ListenBrainz username |
| User Token | Found at listenbrainz.org/settings |
Last.fm
Last.fm provides listening data for recommendations and receives scrobbles. Authentication uses OAuth, so you’ll be redirected to Last.fm to authorise the connection.
| Setting | Description |
|---|---|
| API Key | Your Last.fm API key |
| Shared Secret | Your Last.fm shared secret |
After saving your API key and secret, use the authentication flow in the Last.fm settings tab to link your account.
Scrobbling
The Scrobbling tab controls whether MusicSeerr reports your listens to external services. You can enable or disable scrobbling independently for Last.fm and ListenBrainz. Both can run at the same time.
When scrobbling is active, MusicSeerr sends now-playing updates at the start of each track and submits the scrobble once the track finishes.
Music Source
The Music Source tab lets you choose which service to use as the primary source for listening data on the Home and Discover pages. Options are ListenBrainz or Last.fm.
Release Preferences
Configure which release types you’re interested in (albums, singles, EPs, etc.) and regional preferences. These affect what shows up in discovery and search results.
YouTube
YouTube integration lets MusicSeerr play tracks that aren’t available through your other sources.
| Setting | Description |
|---|---|
| API Key | A YouTube Data API v3 key from Google Cloud Console |
| Daily Quota | Maximum API searches per day (default: 80) |
Local Files
Mount your music directory to enable local file browsing and playback.
| Setting | Description |
|---|---|
| Music Path | Container-internal path to your music directory |
| Lidarr Root Path | Must match Lidarr’s root folder path for file mapping |
Advanced Settings
The Advanced and Cache tabs control caching, HTTP timeouts, and batch processing. These rarely need adjustment, but the options are there if you need them.
- Cache TTLs for library, search, metadata, and discovery data
- HTTP connection and request timeouts for external services
- Batch sizes and concurrency for sync operations
- Memory cache limits and cleanup intervals
- Discover Queue behaviour (auto-build, queue size)
Environment Variables
| Variable | Description | Default |
|---|---|---|
PUID | User ID for file permissions | 1000 |
PGID | Group ID for file permissions | 1000 |
PORT | Port the app listens on | 8688 |
TZ | Timezone | Etc/UTC |
Volume Mounts
| Path | Description |
|---|---|
/app/config | Persistent configuration and database storage |
/app/cache | Cache data (library DB, queue DB, disk cache) |
/music | Music library directory for local file playback (read-only recommended) |