User Tools

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

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information