ynthseek
v2.9.0
Documentation
ynthseek
v2.9.0

Overview

What Synthseek is and how the pieces fit together.

On this page

What Synthseek is

Synthseek is a self-hosted, multi-user music library automation service. You run it on your own hardware, it drives your download clients for you, and every file it produces lands in a library you own.

You ask for music the way you would ask a person: a song, an album, an artist, a playlist, or a vague idea like “melancholic 80s synthwave”. Synthseek finds it in a music catalog and downloads it through the sources you enabled. It checks that what arrived is what you asked for, then tags it and files it into your library. From there you can play it in the web app itself, through your media server, or in a Subsonic-compatible music app pointed straight at Synthseek.

It is built for a household rather than a single person. Each person has their own account, playlists and connected services. Members cannot see each other’s settings or change how the instance runs.

What it is not

Synthseek does not host, store, or distribute music itself. It has no content of its own. It orchestrates software you already run and services you already have accounts with. Where the files come from is entirely a function of the download client you point it at and the sources you enable.

The shape of the system

Synthseek ships as a single Docker container that runs two processes: a web interface and an API server. Around it sit the services it talks to.

PieceRoleRequired
slskdYour Soulseek daemon. Synthseek drives it over its local HTTP API.Yes, for peer-to-peer downloads
Music catalogWhere song, album, artist, and playlist metadata comes from. Deezer by default, with no API key and no account.Yes, built in
AcoustIDFingerprints the audio to prove a file is the recording you asked for.Optional, free key, strongly recommended
LRCLIBWhere song lyrics come from when the file carries none.Optional, built in
Media serversPlex, Navidrome, Jellyfin. Play tracks they hold that Synthseek has no file for, and receive your playlists.Optional
LidarrAn alternative target you can hand an artist or album to.Optional
Last.fm and ListenBrainzYour listening history, the discovery mixes built from it, and where what you play is sent.Optional
SABnzbdYour Usenet downloader. Synthseek hands it a release and collects the result.Optional, for Usenet downloads
Newznab indexerWhere Synthseek searches for Usenet releases.Optional, for Usenet downloads
qBittorrentYour torrent client. Synthseek hands it a release and imports a copy of the track it needs.Optional, for torrent downloads
Torznab indexerWhere Synthseek searches for torrent releases, such as Prowlarr or Jackett.Optional, for torrent downloads
Another Subsonic serverA friend’s Navidrome or Synthseek that tracks can be downloaded from as original files.Optional, off by default
SoundCloudUploads on SoundCloud, searched through the bundled yt-dlp when your other sources cannot deliver. No account needed.Optional, off by default
Internet ArchiveFree music, searched when your other sources cannot deliver. No account needed.Optional, off by default
Music appsSubsonic-compatible players play the library straight from Synthseek, and their favourites, playlists and queue live in it.Optional, off by default

How a request flows

  1. You search, and pick a track, album, artist, or playlist.
  2. Synthseek writes one request row per track and puts them in the queue.
  3. The engine searches your enabled download sources for each track.
  4. Candidates are scored, and the best one is downloaded.
  5. The downloaded file is verified against what you asked for.
  6. A verified file is tagged and imported into your library.

Every step reports back live. The requests screen updates without a refresh, and a progress dock follows anything long-running.