Files
homelab-optimized/docs/services/individual/whisparr.md
Gitea Mirror Bot 4bb38d4e1f
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m12s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-03-21 08:56:04 UTC
2026-03-21 08:56:04 +00:00

3.2 KiB

Whisparr

Adult content collection manager (Arr-suite).

Service Info

Property Value
Host Atlantis (192.168.0.200)
URL http://192.168.0.200:6969
Portainer stack atlantis-arr-stack (stack ID 696, env 2)
Compose file Portainer-managed — /volume2/metadata/docker/portainer/compose/696/v1/docker-compose.yml on Atlantis
Config volume /volume2/metadata/docker2/whisparr
Image ghcr.io/hotio/whisparr:nightly

Download Clients

Client Type Status Notes
SABnzbd Usenet Enabled 192.168.0.200:8080, remote path: /data/complete//sab/complete/
Deluge Torrent Enabled 192.168.0.200:8112 (web UI behind gluetun VPN), password: "REDACTED_PASSWORD"

Deluge notes

  • Runs behind gluetun VPN container (network_mode: container) — ports exposed via gluetun
  • No Label plugin installed — category field must be left empty
  • Downloads to /downloads/complete/ on Atlantis → mapped to /torrents/complete/ in Whisparr
  • Compose volume added 2026-03-18: /volume2/torrents/complete:/torrents/complete
  • Remote path mapping: 192.168.0.200: /downloads/complete//torrents/complete/

SABnzbd API key sync

If SABnzbd restarts or is reinstalled, its API key may change. Update in Whisparr: Settings → Download Clients → SABnzbd → API Key

Or via API:

# Get current SABnzbd API key
ssh atlantis "grep -oP '(?<=^api_key = )[^\s]+' /volume2/metadata/docker2/sabnzbd/sabnzbd.ini"

Root Folder

/data/media/misc (46TB free as of 2026-03-18)

Import Path Mappings

Host Remote Path Local Path (in container) Purpose
192.168.0.200 /data/complete/ /sab/complete/ SABnzbd usenet downloads
192.168.0.200 /downloads/complete/ /torrents/complete/ Deluge torrent downloads

Troubleshooting

downloadClientUnavailable in queue

Happens when SABnzbd or Deluge restarts. Items stay stuck until cleared manually.

Clear all stuck items:

WHISPARR_KEY=$(ssh atlantis "cat /volume2/metadata/docker2/whisparr/config.xml | grep -oP '(?<=<ApiKey>)[^<]+'")
python3 -c "
import requests
s = requests.Session()
s.headers.update({'X-Api-Key': '$WHISPARR_KEY'})
q = s.get('http://192.168.0.200:6969/api/v3/queue').json()
for item in q.get('records',[]):
    if item['status'] == 'downloadClientUnavailable':
        s.delete(f'http://192.168.0.200:6969/api/v3/queue/{item[\"id\"]}?removeFromClient=true&blocklist=false')
        print('Cleared:', item['title'][:50])
"

Import fails after adding Deluge

Whisparr must have /volume2/torrents/complete mounted and a remote path mapping configured. Check mounts: container must have /torrents/complete volume. Check mappings: Settings → Download Clients → Remote Path Mappings.

Deluge Label plugin error

If Whisparr reports "Label plugin not enabled" — leave the Category field blank in the Deluge download client config. The Label plugin egg exists but doesn't load in the linuxserver.io image.

Last updated: 2026-03-18