Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
services:spotizerr [2025/05/23 09:26] – willy | services:spotizerr [2025/05/30 07:14] (current) – willy | ||
---|---|---|---|
Line 18: | Line 18: | ||
chown spotizerr: | chown spotizerr: | ||
su - spotizerr | su - spotizerr | ||
- | mkdir creds | ||
- | mkdir config | ||
wget https:// | wget https:// | ||
</ | </ | ||
Line 29: | Line 27: | ||
spotizerr: | spotizerr: | ||
volumes: | volumes: | ||
- | - / | + | - / |
- / | - / | ||
- / | - / | ||
Line 110: | Line 108: | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | You need to have your Spotify app on the phone and on the same network as the server. | + | Setup Spotizerr require a few steps: |
+ | * Setup spotify login | ||
+ | * Enable spotify API | ||
+ | * Setup deezer ARL token | ||
+ | Spotify has a serious rate limiting, so i strongly suggest you also setup a Deezer account. | ||
+ | |||
+ | See [[https:// | ||
+ | |||
+ | **Note:** you //must// enable "real time downloading" | ||
+ | |||
+ | === Step 1: authenticate with Spotify === | ||
+ | |||
+ | You need to setup and run **librespot-auth**. The instructions are quite simple and can be run anywhere, not necessarily on the server itself: | ||
<code bash> | <code bash> | ||
it clone --depth 1 https:// | it clone --depth 1 https:// | ||
- | podman run --rm -v " | + | cargo build --release |
+ | # Alternatively, | ||
./ | ./ | ||
</ | </ | ||
- | open the app and add the device called mySpotifyAccount1 | + | On Gentoo you should have cargo by default (it's part of rust) so you don't need to run a container for that. |
- | This file has the following format: | + | |
- | {" | + | The above command will create a file called // |
+ | < | ||
+ | {" | ||
+ | </ | ||
- | The important ones are the " | + | Now open Spotizerr, go to the settings (the whell icon in the lower left corner) |
+ | * name: whatever you want | ||
+ | * username: copy "my username" | ||
+ | * credentials: copy "a long string" | ||
- | In the terminal, you can directly print these parameters using jq: | + | === Step 2: link Spotify API === |
- | jq -r '.username, .auth_data' | + | At this point, go to [[https:// |
+ | * app name: something that make sense for you | ||
+ | * app description: | ||
+ | * website: not needed, leave blank | ||
+ | * redirect URI: https:// | ||
+ | * API/SDK: i checked them all, that is probably not needed YMMV | ||
+ | * i unrestand and agree: check, of course | ||
- | see [[https:// | + | Save, and copy both **ClientID** and **ClientSecret** strings. You need togo to Spotizerr page and add the two strings in your Spotify account API configuration. |
- | work in progress | + | That's it! You can start searching and downloading stuff. |
+ | |||
+ | === Step 3: setup Deezer === | ||
+ | |||
+ | Open your browser, login to Deezer. Open the developer console (see your browser instructions... i suggest you use Firefox for this) go to the //storage// tab and copy the ARL cookie text string under the // | ||
+ | |||
+ | Go to Spotizerr config, add a new Deezer account and paste the ARL cookie text string. You can give any name you want to the account. | ||
Line 154: | Line 182: | ||
</ | </ | ||
+ | |||
+ | ===== Logrotate ===== | ||
+ | |||
+ | Add log rotation to Spotizerr logs. Drop the following under **/ | ||
+ | <file - spotizer> | ||
+ | / | ||
+ | missingok | ||
+ | notifempty | ||
+ | } | ||
+ | </ | ||