Spotizerr
Spotizerr is …
Installation
useradd -d /data/daemons/spotizerr -m spotizerr -g media mkdir /data/Media/spotizerr mkdir /data/Media/spotizerr/creds mkdir /data/Media/spotizerr/config mkdir /data/Media/spotizerr/downloads mkdir /var/log/spotizerr chown spotizerr:media /data/Media/spotizerr -R chown spotizerr:media /var/log/spotizerr su - spotizerr wget https://raw.githubusercontent.com/Xoconoch/spotizerr/refs/heads/main/docker-compose.yml
- docker-compose.yml
name: spotizerr services: spotizerr: volumes: - /data/Media/spotizerr/creds:/app/creds - /data/Media/spotizerr/config:/app/config - /data/Media/spotizerr/downloads:/app/downloads - /var/log/spotizerr:/app/logs ports: - 7171:7171 image: cooldockerizer93/spotizerr container_name: spotizerr-app environment: # - PUID=1000 # Replace with your desired user ID | Remove both if you want to run as root (not recommended, might result in unreadable files) # - PGID=1000 # Replace with your desired group ID | The user must have write permissions in the volume mapped to /app/downloads - UMASK=0002 # Optional: Sets the default file permissions for newly created files within the container. - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_DB=0 - REDIS_URL=redis://redis:6379/0 - REDIS_BACKEND=redis://redis:6379/0 - EXPLICIT_FILTER=false # Set to true to filter out explicit content depends_on: - redis networks: - spotizerr-net redis: image: redis:alpine container_name: spotizerr-redis volumes: - redis-data:/data command: redis-server --appendonly yes networks: - spotizerr-net volumes: redis-data: driver: local networks: spotizerr-net: {}
podman compose pull
Reverse Proxy
Configuration
You need to have your Spotify app on the phone and on the same network as the server.
it clone --depth 1 https://github.com/dspearson/librespot-auth.git podman run --rm -v "$(pwd)/librespot-auth":/app -w /app rust:latest cargo build --release ./librespot-auth/target/release/librespot-auth --name "mySpotifyAccount1" --class=computer
open the app and add the device called mySpotifyAccount1 This file has the following format:
{“username”: “string” “auth_type”: 1 “auth_data”: “string”}
The important ones are the “username” and “auth_data” parameters, these match the “username” and “credentials” sections respectively when adding/editing spotify credentials in Spotizerr.
In the terminal, you can directly print these parameters using jq:
jq -r '.username, .auth_data' credentials.json
see here
work in progress
Autostart
- user-containers.spotizerr
USER=spotizerr DESCRIPTION="Spotify donwloader"
ln -s user-containers user-containers.spotizerr /etc/init.d/user-containers.spotizerr start rc-update user-containers.spotizerr