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