# playlistd A daemon and API for automatically updating Subsonic playlists from Listenbrainz data *Note: I've not actually tested this against Subsonic, only Navidrome* ## Building & running This is a standard Rust project and should be uncomplicated to build and run. It does read some environment variables: * `SUBSONIC_BASE`, your Subsonic instance's API base. For navidrome users, this is `:///rest` * `SUBSONIC_USERNAME`, your Subsonic username * `SUBSONIC_PASSWORD`, your Subsonic password * `DATABASE_URL`, the URL for a Postgres database * `DAEMON_INTERVAL`, how often to update playlists For deploying, these can be configured in `/etc/playlistd.toml`. ### Container build (Ubuntu 20.04) `podman run --rm --network=host -v "$PWD":/mnt -w /mnt -e "DATABASE_URL=postgres://jude@127.0.0.1/navidrome-playlists" playlistd cargo deb` ## How to use ### Tracked playlist A tracked playlist is a single Subsonic playlist that tracks data from Listenbrainz. For example, a playlist that contains your top 15 songs from the past week. These will work best when your music library is well organised with Musicbrainz metadata. You can create a tracked playlist by inserting a row into the `tracked_playlist` table. ### Static playlist TODO, not yet implemented