80 lines
3.2 KiB
Markdown
80 lines
3.2 KiB
Markdown
# 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" <!-- pragma: allowlist secret --> |
|
|
|
|
### 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:
|
|
```bash
|
|
# 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:
|
|
```bash
|
|
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
|