Automated Music & Video Discovery and Collection Manager
Free and open source. Self-hosted, on your hardware. 500,000+ downloads.
Everything you need to manage a self-hosted music library, plus podcasts and audiobooks.
Download from Soulseek (via slskd), Tidal, Qobuz, Deezer, HiFi, YouTube, SoundCloud, and torrent or usenet through Prowlarr, among others. Build a drag-ordered hybrid chain and SoulSync falls through to the next source when one cannot meet your quality profile. Every download is tagged, organized, and verified.
Follow artists and automatically scan for new releases. New albums and singles are detected, matched, and downloaded without manual effort. Configurable per artist — albums only, singles, EPs, or everything.
Import playlists from Spotify, Tidal, Qobuz, Deezer, YouTube and YouTube Music, Apple Music, ListenBrainz, Last.fm, Beatport, or a CSV, M3U or text file. Tracks are matched to official metadata and synced to your Plex, Jellyfin, or Navidrome server. Playlists stay mirrored, and a scheduled pipeline can refresh, discover, sync and download the missing tracks unattended.
Interactive artist maps, genre deep-dives, similar artist networks, and decade browsing. Personalized playlists like Release Radar and Discovery Weekly generated from your library and listening data.
Enrichment workers pull from Spotify, Apple Music, Deezer, Discogs, MusicBrainz, AudioDB, Last.fm, Genius, Tidal, and Qobuz. Every artist, album, and track gets the richest possible metadata automatically.
AcoustID audio fingerprinting verifies every download matches the expected track. Wrong files are quarantined automatically. Streaming source matching uses artist gating to reject incorrect results before download.
Enhanced library manager with inline editing, bulk tag writing, and 31 automated maintenance jobs. Smart delete, track redownload, orphan detection, fake lossless detection, and metadata gap filling. 31 maintenance jobs in total, each with its own schedule.
Visual WHEN/DO/THEN workflow builder with 60+ triggers and actions, shared by the music and video sides. Schedule scans, chain downloads to notifications, fire signals between automations, or install a ready-made pipeline from the Automation Hub in one click. Discord, Telegram, Pushbullet and webhook alerts built in.
Library analytics with genre distribution, top artists and albums, listening timeline. Last.fm and ListenBrainz scrobbling. Full download history with source provenance tracking.
Automatic metadata tagging, cover art embedding, and file organization with customizable path templates. Lossy copy creation, synchronized lyrics via LRClib, and multi-disc album handling.
Netflix-style profiles with separate watchlists, wishlists, and discovery pools. PIN protection, per-profile page access controls, and individual home page preferences. Shared library, separate personalization.
A REST API at /api/v1 covering library, search, wishlist, watchlist, downloads, playlists, discover, settings, profiles and video, with hashed, rate-limited API keys. An inbound request webhook lets a Discord bot or a shortcut ask for something and have SoulSync search, match and download it.
Every Beatport chart opens as a real playlist: Top 100s, Hype lists, genre charts and DJ charts, identified by ISRC, ready to sync and download. Mirrored charts refresh instead of freezing, you can save a dated snapshot of any chart, and Beatport enrichment writes the label's own BPM, key, label and catalog number while tagging.
Podcasts from Apple Podcasts search or any RSS feed, including private and Patreon feeds, with a watchlist that downloads new episodes and cleans up old ones. Audiobooks browsed by genre, series, author and narrator, with author follows and their own wishlist.
A full web player built in, with synced lyrics, a persistent queue, crossfade and OS media controls. Artist Radio and Library Radio keep your own collection playing, and tracks you do not own yet can stream from a preview source first, or auto-download.
10 enrichment workers pulling from every major music database.
Downloads flow in. Music flows out to your servers.
A whole video side, isolated from music, with its own library, calendar, and download pipeline, plus built-in subtitles.
Its own database, dashboard, search, and TV calendar for movies, TV, and YouTube. Works with Plex and Jellyfin, with per-server isolation, and never touches your music side.
TMDB, TVDB, and OMDb matching plus 15 background workers, including fanart.tv, OpenSubtitles, Trakt, TVmaze, AniList, SponsorBlock and where-to-watch data. Ratings, artwork, cast, and episode data filled automatically, gap-fill only.
Follow shows, actors, directors, studios (Disney = Pixar + Marvel + Lucasfilm), and YouTube channels. Anything you don't own is wishlisted and grabbed automatically, forward-looking up to a year out.
A 16-tier quality ladder with cutoff, upgrade-until-cutoff, custom formats, and reject rules. Release title and TMDB-alias gating so you never grab the wrong film. Soulseek, Prowlarr indexers, torrent and usenet clients, and yt-dlp.
A real week grid with air times, acquisition state on every episode, and a billboard, plus an iCal feed for your phone. Wishlist an airing episode straight from the modal, or auto-grab today's airings. Nightly schedule refresh keeps it current.
A Kometa-style visual overlay editor that paints resolution, rating, and provider badges onto your Plex and Jellyfin posters. Nightly re-apply, and it skips anything unchanged.
Build Plex Collections and Jellyfin BoxSets from smart filters and ranked lists — IMDb, TMDB, Trakt, and MDBList — rendered in true rank order, not by year. Franchise auto-backfill included.
Follow channels and playlists as shows (yt-dlp, no API key). Long-form only, per-channel keep windows, and true downloaded-state tracking so nothing re-downloads.
A Tautulli-style live now-playing drawer for Plex and Jellyfin: streams pushed over websocket, watch history, statistics, and terminate-a-stream. Click any stream to open it inside SoulSync.
Repair jobs for broken files, duplicates, metadata gaps, and missing episodes. Plus bulk metadata editing with per-field locking, re-identify, a download history archive, and an issues system.
A visual automation engine for the video side: scheduled scans, the whole watchlist → wishlist → download pipeline, nightly overlay and collection sync, and event triggers on its own shared engine.
Progressive, Netflix-feel search across movies, shows, people, studios, and YouTube. Plus trending, similar titles, and complete-your-collection gap-finding for your franchises.
Subtitle fetching is built in, from multiple providers including OpenSubtitles, SubDL and SubSource, with a wanted list that keeps retrying the languages you are missing. Per-title language lists, hearing-impaired and forced tracks, embedded subtitle extraction, and local Whisper transcription as an opt-in last resort when no provider has them.
Household profiles without download rights can request movies and shows, and an admin approves before anything is fetched. Import lists from TMDB, IMDb and your Plex Watchlist to seed the library.
qBittorrent, Transmission, Deluge, SABnzbd, NZBGet and slskd, managed from the same downloads page as the music side, with season packs, seeding goals, stall detection and a review queue for anything that needs a human.
The recommended install takes a couple of minutes. SoulSync runs on Docker (amd64 and arm64), from the Unraid Community Applications store, or as plain Python 3.11.
Nothing else is required to start. SoulSync Standalone works without a media server, and HiFi, YouTube and Deezer need no extra software.
Optional: a running slskd instance if you want the Soulseek source, free Spotify API credentials for the best discovery, a Plex, Jellyfin or Navidrome server, and Prowlarr plus a torrent or usenet client for those sources and the video side.
Port 8008 is the web UI and API. Ports 8888 and 8889 are the Spotify and Tidal OAuth callbacks. Full setup, paths and release channels are in the GitHub README.
The short answers. The long ones live in the in-app help and on GitHub.
Yes. SoulSync is free and open source under the MIT license. You run it on your own hardware, with no subscription and no SoulSync account.
SoulSync is one self-hosted app for music, movies, TV and YouTube. It finds what you want, downloads it, verifies and tags it, files it for your media server, and keeps your playlists in sync.
No. SoulSync Standalone works without a media server. If you already run one, SoulSync connects to Plex, Jellyfin or Navidrome for music, and Plex or Jellyfin for video.
Only if you want the Soulseek download source. slskd is optional. Other sources, including HiFi, YouTube and Deezer, need no extra software, and torrent or usenet sources connect through Prowlarr and your download client.
The recommended install is Docker: download the docker-compose.yml from the GitHub repository, run docker compose up -d, then open http://localhost:8008. SoulSync also runs from the Unraid Community Applications store or as plain Python 3.11.
SoulSync covers music and video in a single app, including discovery, playlist sync, download verification, tagging and built-in subtitles, instead of a separate tool for each step. Many people run it alongside an existing setup first, then decide what it takes over.