* Add one-shot app_config linter migration workflow * Add app_config linter compatibility action * Add add-on map compatibility normalizer * Test add-on map compatibility normalizer * Run app_config compatibility preparation on pull request * Validate app_config short and long map forms separately * Export validated workflow updates * Use app_config-compatible linter for PR checks * Use app_config-compatible linter for builds * Remove temporary linter preparation workflow * Add one-shot app_config manifest migration * Migrate legacy addon_config maps to app_config * Preserve upstream legacy aliases without deprecated literals * Test legacy alias compatibility without deprecated literals * Validate completed app_config migration * Count only add-on manifests during migration validation * Remove temporary migration validation workflow * Document legacy alias construction * Remove obsolete local linter compatibility script * Remove obsolete local linter compatibility tests * fix(pr-2937-review): address reviewer findings on app_config migration - Remove the orphaned .github/actions/addon-linter composite action: it references .github/scripts/prepare_addon_lint_config.py, which was never added (the normalization approach was superseded by pinning frenck/action-addon-linter directly in #2936). Confirmed unused - no workflow invokes it. - cleanuparr: HA_DATA_DIR pointed at /app_configs/cleanuparr, a path not mounted inside the container. cleanuparr's map is app_config:rw, which Supervisor mounts at /config, so data was living on the ephemeral container filesystem. Point it at /config instead (pre-existing bug, not introduced by this PR - just carried the wrong path forward). - joplin/README.md: joplin's config.yaml still declares config:rw, not app_config (it was never part of the 86-manifest migration). Revert the doc text that incorrectly started calling it the app_config mapping. - qbittorrent/00-folders.sh: fix a pre-existing copy/paste bug in the migration marker/log for the main-folder migration block - it referenced "openvpn" and a "qBitorrent" typo instead of qBittorrent. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
5.7 KiB
Home assistant add-on: Spotify to Plex
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
Addon informations
Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!
About
This addon is based on the docker image from jjdenhertog/spotify-to-plex.
It keeps your Spotify playlists synced to Plex automatically: syncing any Spotify playlist (including Spotify-owned ones), supporting multiple Spotify users, scheduled automatic synchronization, smart caching and optional downloading of missing tracks via Lidarr, SLSKD or Tidal.
Configuration
Before starting the add-on you need a Spotify developer application (https://developer.spotify.com/dashboard):
- Create an app and note its
Client IDandClient Secret. - In the app settings, add the redirect URI
https://jjdenhertog.github.io/spotify-to-plex/callback.html(this is the defaultSPOTIFY_API_REDIRECT_URI; change it only if you self-host the callback page).
Fill the add-on options:
| Option | Description |
|---|---|
SPOTIFY_API_CLIENT_ID |
Client ID of your Spotify developer application |
SPOTIFY_API_CLIENT_SECRET |
Client secret of your Spotify developer application |
SPOTIFY_API_REDIRECT_URI |
OAuth redirect URI (must match the one configured in your Spotify app) |
ENCRYPTION_KEY |
Key used to encrypt stored secrets. Leave empty to have the add-on generate a random key on first start and persist it in the add-on config folder. Provide your own only if you want to reuse an existing configuration. |
Use the add-on env_vars option to pass any extra upstream environment variables (for example Tidal, SLSKD, Lidarr or Plex settings). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
The configuration and cache are stored in the add-on config folder (/app_configs/<slug>), so they survive restarts and updates.
Webui can be found at <your-ip>:9030.
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.
- Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
- Install this add-on.
- Set the required options (Spotify Client ID and Secret).
- Click the
Savebutton to store your configuration. - Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open the webui, where you will finish the setup and connect your Spotify and Plex accounts.
Support
For issues related to the add-on packaging, open an issue on alexbelgium/hassio-addons. For issues related to the application itself, refer to the upstream project.