Note: Undergoing rewrite to improve performance and fix various inherent bugs in current implementation. Check Bluesky for updates. Will release beta when it's in a testable state.
- Ensure you have Python 3 installed (if not running docker)
- Ensure you have poetry installed
- Ensure you have a Spotify api key from here
- Clone the repo.
- Configure settings for your environment:
- Get Plex API key.
- Get Spotify ID and API key.
- Get Lidarr API key.
- Run with poetry (
cd spotiplex && poetry install
,poetry run spotiplex --help
) - Follow CLI prompts
Note: Tested only on Linux, Docker version 24.0.5. Other environments are "unsupported", but issues can be reported.
docker pull 0xchloe/spotiplex:latest
touch spotiplex.env
- Copy the contents of
default.env
from this repo to your new.env
file, and edit as needed. docker run --env-file spotiplex.env 0xchloe/spotiplex
- Container will run sync of Lidarr lists and manually specified lists on initial start, and every day at midnight if CRON_SCHEDULE is not set
Using python-plexapi, spotipy, rtoml, typer, supercronic, httpx
- Add to Plex-Playlist-Manager (See above)
- Some Spotify Playlists, especially auto-generated and non-public ones, may not be accessible via API, resulting in 404 errors.
- Occasional track errors in certain playlists. The script will continue and import the rest of the playlist, noting any issues.
I am not responsible for how you utilize this script, nor am I responsible for your usage of the Spotify API, in or outside of conjunction with this script. Please read the Spotify TOS and Spotify Developer TOS carefully. This script is neither endorsed nor supported by Spotify. All uses of this script are at your own risk. Please buy the music you enjoy.