mralexsaavedra/spotiarr/spotiarr-docker

Claude Code and agent skill by mralexsaavedra/spotiarr

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Trigger: Docker, docker-compose, deploy, container, volume, DOWNLOADS_DIR, PUID, PGID, update, self-hosted. spotiarr Docker setup: services, volumes, env vars, update flow.

Install

npx vskill@latest install mralexsaavedra/spotiarr/spotiarr-docker

SKILL.md

Activation Contract

Load when working with docker-compose, deployments, volumes, or self-hosted configuration.

Hard Rules

  • ./config/ is a Docker volume mount (./config:/spotiarr/config) — the SQLite database lives there. It is gitignored. Never commit it.
  • compose.override.yml is gitignored — use it for local port/env overrides, never commit it.
  • spotiarr service waits for redis healthcheck before starting (depends_on: condition: service_healthy).
  • Traefik is optional — strip it from compose.override.yml for direct port-3000 access.

Services

ServiceImagePortsPurpose
spotiarrmralexandersaavedra/spotiarr:latest3000:3000App (frontend + backend)
redisredis:7-alpine6379:6379BullMQ job queues
traefiktraefik:v3.280:80, 443:443Reverse proxy (optional)

Volumes

MountContainer pathContents
./config//spotiarr/configSQLite DB + app data (persistent)
${DOWNLOADS_DIR}/downloadsDownloaded music files
redis-data (named)/dataRedis persistence

Required Environment Variables

bash
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SPOTIFY_REDIRECT_URI=http://localhost:3000/api/auth/callback
DOWNLOADS_DIR=/absolute/host/path/to/downloads # must be absolute

Optional Environment Variables

bash
PUID=1000 # file ownership UID (default: 1000)
PGID=1000 # file ownership GID (default: 1000)
REDIS_HOST=redis # default: "redis" (service name)
REDIS_PORT=6379 # default: 6379

Instance Auth (Optional)

bash
SPOTIARR_TOKEN= # >=16 chars; omit to disable the gate
SPOTIARR_SESSION_TTL_HOURS=168 # default: 168 (7 days)
SPOTIARR_UNLOCK_RATELIMIT=5 # default: 5 per IP per minute
SPOTIARR_TRUST_PROXY=1 # hop count (e.g. 1) or Express preset; REQUIRED behind Traefik/any
# reverse proxy — otherwise req.ip is the proxy IP and rate-limiting
# locks out everyone together
SPOTIARR_CORS_ORIGIN= # comma-separated CORS origin allowlist; omit for same-origin (default).
# Wildcard "*" is rejected. Only needed for a separate-origin client.

Offline Audio Caching (Slice 2 — HTTPS required)

The Service Worker audio cache (spotiarr-audio, CacheFirst strategy) requires a secure context (HTTPS or localhost). On plain HTTP the feature is automatically inert — online playback is unaffected, but tracks are not cached for offline use.

To enable offline caching in production, terminate TLS at the reverse proxy before the container:

  • Traefik (bundled in compose.yml): configure the websecure entrypoint + a CertificateResolver (Let's Encrypt or manual cert). Set SPOTIFY_REDIRECT_URI to your https:// domain.
  • Any other reverse proxy (Nginx, Caddy, etc.) works the same way — just ensure the browser sees HTTPS.

Plain HTTP self-hosted installs continue to work online; they simply receive no offline benefit.

Update Flow

bash
docker compose pull
docker compose up -d

References

  • Compose file: compose.yml
  • Env template: .env.example
  • Entrypoint: docker-entrypoint.sh
  • Data volume: ./config/ (gitignored)

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
43
Repository forks
6
7-day trend score
19

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 6 Sep 2026, 2 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mralexsaavedra/spotiarr/spotiarr-docker/badge)](https://verified-skill.com/skills/mralexsaavedra/spotiarr/spotiarr-docker)

Something wrong with this skill or its page? Tell us.