14-page documentation site covering installation, quick start, full config reference, Sonarr/Radarr/qBittorrent/Tdarr integrations, ffmpeg/HandBrake transcoder setup, SSH transcode workers, disc format reference, and troubleshooting. Stack: mkdocs-material 9.x (MIT), pinned <10 to avoid 2.0 licence wall.
2.4 KiB
2.4 KiB
Troubleshooting
Discarr won't start
Check Node.js version:
node --version # must be 18+
Check for port conflict:
ss -tlnp | grep 8603
# Change port with: PORT=8604 node server.js
Check logs (if running as a service):
journalctl -u discarr -f
Scan returns no titles
ffprobe not found:
which ffprobe # must be in PATH
ffprobe -version
Disc structure not recognised:
- Ensure the path points to the directory containing
VIDEO_TSorBDMV, not inside it - For ISOs, pass the full path including the
.isoextension - Check read permissions:
ls -la /path/to/disc
Encrypted DVD:
dpkg -l libdvd-pkg 2>/dev/null || rpm -q libdvdcss 2>/dev/null
# Reinstall if missing — see Installation guide
Encode fails immediately
ffmpeg not found:
which ffmpeg && ffmpeg -version
HandBrake preset not found:
HandBrakeCLI --preset-list | grep "H.265"
Check HANDBRAKE_PRESET matches exactly (case-sensitive).
Disk space:
df -h /tmp ~/.local/share/discarr
# Full HEVC encodes need 50–100 GB of temp space for large discs
Sonarr/Radarr not importing after encode
Check hook scripts are executable:
ls -la /opt/discarr/scripts/
chmod +x /opt/discarr/scripts/*.sh
Test the hook manually:
DISCARR_URL=http://127.0.0.1:8603 /opt/discarr/scripts/sonarr-notify.sh
Check API key:
curl -s "http://your-sonarr-host:8989/sonarr/api/v3/system/status" \
-H "X-Api-Key: your-api-key" | python3 -m json.tool | head -5
Check Sonarr logs:
Sonarr: System → Logs — look for connection errors from the Custom Script hook.
SSH transcode not working
Test SSH connection:
ssh -i ~/.ssh/id_ed25519 user@remote-host echo "OK"
Check ffmpeg on remote:
ssh user@remote-host which ffmpeg
Check disk space on remote:
ssh user@remote-host df -h /media
Jobs stuck in queue after restart
The queue file persists across restarts at ~/.local/share/discarr/pending-queue.json.
To clear a stuck job:
# Edit the queue file and remove the stuck entry
$EDITOR ~/.local/share/discarr/pending-queue.json
systemctl restart discarr
Or clear the whole queue:
echo '[]' > ~/.local/share/discarr/pending-queue.json
systemctl restart discarr