Download songs, playlists and albums, or sync in to your favourite tunes
- Track download on a URL basis
- Entire playlist download
- Apply metadata on downloaded songs
- Entire album download
- Independently scale downloader and renderer
- Configurable concurrency
- Web-UI for downloading
- CLI
-
Edit the ./config/secret.env to expose relevent secrets to the containers
-
Change script permissions
chmod +x ./scripts/docker-setup.sh
- Run
./scripts/docker-setup.sh
Installation instructions in wiki
Function | Route |
---|---|
Check service health | /ping/ |
Download Song | /song/{id}/ |
Download Playlist | /playlist/{id}/ |
Download Album | /album/{id}/ |
View Song Metadata | /meta/song/{id}/ |
View Playlist Metadata | /meta/playlist/{id}/ |
View Album Metadata | /meta/album/{id}/ |
Bulk View Resource Metadata | /metas//{id}/ (where resource can be playlists, albums, shows) |
Check Song Download Progress | /status/song/{id}/ |
Check Bulk Song Download Progress | /status/songs/ (array of {"song_ids": []string} in POST) |
Check Playlist Download Progress | /status/playlist/{id}/ |
Check Album Download Progress | /status/album/{id}/ |
Note that the {id}
mentioned here is the resource ID you get from spotify (from a track, album or playlist URL).
Read the disclaimer before using this software.
Note that this repo is just the core backend of the service. UI contributions are needed. All contributions are welcome. Just fork and make a PR. If you are making a UI, create a new directory called src/ui
.