This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Spotizerr ====== [[https://github.com/Xoconoch/spotizerr|Spotizerr]] is ... ===== Installation ===== <code bash> 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 </code> <file - 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: {} </file> <code bash> podman compose pull </code> ===== Reverse Proxy ===== ===== Configuration ===== You need to have your Spotify app on the phone and on the same network as the server. <code bash> 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 </code> 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 [[https://github.com/Xoconoch/spotizerr|here]] work in progress ===== Autostart ===== <file - user-containers.spotizerr> USER=spotizerr DESCRIPTION="Spotify donwloader" </file> <code bash> ln -s user-containers user-containers.spotizerr /etc/init.d/user-containers.spotizerr start rc-update user-containers.spotizerr </code>