selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

spotify-to-plex logo

Self-host spotify-to-plex

v1.0.115

Sync Spotify playlists to Plex with auto track matching

ReleaseOpen SourceApache-2.0
Updated9 hours ago
LanguageTypescript
Setup difficultyModerate
Stars
251
Port
9030 (Web interface)
Requires
Plex Media Server
Docker
jjdenhertog/spotify-to-plex
Install with Docker
Spotify to Plex web interface overviewLidarr integration settings screenSpotify users management screenTrack analyzer for debugging unmatched songsPlaylist synchronization configurationCache clearing interface

What is spotify-to-plex?

Spotify to Plex is a self-hosted web application that keeps your Spotify playlists synchronized with your Plex music library. It automatically matches tracks from Spotify playlists to songs in your Plex library using multiple search strategies including fuzzy matching for remixes and live versions. For tracks not found in Plex, it can download missing songs through integrations with Lidarr (for complete albums), SLSKD (for P2P downloads via Soulseek), or match alternatives via Tidal. The app supports multiple Spotify users, scheduled automatic synchronization with customizable intervals, and a web interface for reviewing matches. It runs as a Docker container with configuration via environment variables and stores data in a mounted volume. Requires a Spotify Premium account for API access due to Spotify's 2026 platform changes.

Should you self-host spotify-to-plex?

spotify-to-plex scores 48/100 on selfhost.directory (how scoring works) and ranks #24 of 59 in Music Streaming. It has 251 GitHub stars.

It shipped 11 stable releases in the past year. The latest, v1.0.115, came out on 27 October 2026. New versions land roughly every 2 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is koel (75/100, 17 320 stars). It scores higher overall, so compare the two before you pick. See spotify-to-plex vs koel side by side.

Features

  • Advanced track matching
  • Automatic missing track downloads
  • MQTT / Home Assistant integration
  • Multiple Spotify user supportLimited to 5 users by Spotify API restrictions
  • Scheduled automatic synchronization
  • Smart Caching
  • Spotify playlist synchronization
  • Track analyzer
  • Web Interface

spotify-to-plex README

How to install spotify-to-plex

Install spotify-to-plex with Docker

Docker Engine
Environment variables
PORT, SPOTIFY_API_CLIENT_ID, SPOTIFY_API_CLIENT_SECRET, SPOTIFY_API_REDIRECT_URI, ENCRYPTION_KEY, PLEX_APP_ID, TIDAL_API_CLIENT_ID, TIDAL_API_CLIENT_SECRET, LIDARR_API_KEY, SLSKD_API_KEY, MQTT_BROKER_URL, MQTT_USERNAME, MQTT_PASSWORD, MQTT_TOPIC_PREFIX, MQTT_DRY_RUN, TZ

docker run -d -e PORT=9030 -e SPOTIFY_API_CLIENT_ID=YOUR_CLIENT_ID -e SPOTIFY_API_CLIENT_SECRET=YOUR_CLIENT_SECRET -e SPOTIFY_API_REDIRECT_URI=https://jjdenhertog.github.io/spotify-to-plex/callback.html -e ENCRYPTION_KEY=YOUR_ENCRYPTION_KEY -e PLEX_APP_ID=eXf+f9ktw3CZ8i45OY468WxriOCtoFxuNPzVeDcAwfw= -v /local/directory/:/app/config:rw --name=spotify-to-plex --network=host --restart on-failure:4 jjdenhertog/spotify-to-plex

Requires host network mode for Plex discovery

How to configure spotify-to-plex

  • ENCRYPTION_KEYEncryption key for sensitive data (generate with openssl rand -hex 32)

    Encryption key for sensitive data (generate with openssl rand -hex 32)

  • LIDARR_API_KEYLidarr API Key for automatic album downloads (optional)

    Lidarr API Key for automatic album downloads (optional)

  • MQTT_BROKER_URLMQTT broker URL (e.g., mqtt://192.168.1.100:1883)

    MQTT broker URL (e.g., mqtt://192.168.1.100:1883)

  • MQTT_DRY_RUNfalseSet to true to test without publishing to MQTT

    Set to true to test without publishing to MQTT

    values: true, false

  • MQTT_PASSWORDMQTT authentication password (optional)

    MQTT authentication password (optional)

  • MQTT_TOPIC_PREFIXspotify_to_plexPrefix for all MQTT topics

    Prefix for all MQTT topics

  • MQTT_USERNAMEMQTT authentication username (optional)

    MQTT authentication username (optional)

  • PLEX_APP_IDeXf+f9ktw3CZ8i45OY468WxriOCtoFxuNPzVeDcAwfw=Plex application identifier

    Plex application identifier

  • PORT9030Port the web interface listens on

    Port the web interface listens on

  • SLSKD_API_KEYSLSKD API Key for P2P downloads (optional)

    SLSKD API Key for P2P downloads (optional)

  • SPOTIFY_API_CLIENT_IDSpotify API Client ID from Spotify Developer Dashboard

    Spotify API Client ID from Spotify Developer Dashboard

  • SPOTIFY_API_CLIENT_SECRETSpotify API Client Secret from Spotify Developer Dashboard

    Spotify API Client Secret from Spotify Developer Dashboard

  • SPOTIFY_API_REDIRECT_URIhttps://jjdenhertog.github.io/spotify-to-plex/callback.htmlSpotify OAuth redirect URI

    Spotify OAuth redirect URI

  • TIDAL_API_CLIENT_IDTidal API Client ID (optional)

    Tidal API Client ID (optional)

  • TIDAL_API_CLIENT_SECRETTidal API Client Secret (optional)

    Tidal API Client Secret (optional)

  • TZUTCTimezone for scheduled syncs (e.g., UTC)

    Timezone for scheduled syncs (e.g., UTC)

spotify-to-plex releases & version history

More in Music Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…