Troubleshooting
Installation Issues
Section titled “Installation Issues”Docker container won’t start
Section titled “Docker container won’t start”Check logs:
docker logs decypharrCommon causes:
- Port 8282 already in use
- Invalid volume paths
- Permission issues on mounted directories
Fix:
services: decypharr: ports: - "8283:8282" # Use different external port volumes: - ./config:/config user: "1000:1000" # Match your user IDBinary: “permission denied”
Section titled “Binary: “permission denied””Make executable:
chmod +x decypharr./decypharrAuthentication Issues
Section titled “Authentication Issues”API token not working
Section titled “API token not working”- Regenerate token:
Terminal window curl -X POST -H "Authorization: Bearer OLD_TOKEN" \http://localhost:8282/api/refresh-token - Check token in
/config/config.json(api_tokenfield) - Ensure Authorization header format:
Bearer YOUR_TOKEN
Mount Issues
Section titled “Mount Issues”Mount point empty
Section titled “Mount point empty”Check mount status:
ls -la /mnt/decypharrmount | grep decypharrCommon causes:
- FUSE not available
- Permission issues
- Mount path doesn’t exist
Fix (Docker):
services: decypharr: devices: - /dev/fuse cap_add: - SYS_ADMIN security_opt: - apparmor:unconfinedFix (Binary):
# Install FUSEsudo apt install fuse # Debian/Ubuntusudo yum install fuse # CentOS/RedHat
# Add user to fuse groupsudo usermod -a -G fuse $USER“Transport endpoint is not connected”
Section titled ““Transport endpoint is not connected””Mount crashed. Unmount and restart:
# Force unmountsudo fusermount -u /mnt/decypharr# orsudo umount -l /mnt/decypharr
# Restart Decypharrdocker restart decypharr“Permission denied” accessing files
Section titled ““Permission denied” accessing files”Set correct UID/GID:
{ "mount": { "dfs": { "uid": 1001, "gid": 1001, "allow_other": true } }}Find your user ID:
id your_usernameDebrid Provider Issues
Section titled “Debrid Provider Issues””API key invalid”
Section titled “”API key invalid””- Verify key at provider dashboard
- Check for typos/extra spaces
- Regenerate API key
- Update config and restart
”No free slots”
Section titled “”No free slots””Check slots:
- Real Debrid: https://real-debrid.com/torrents
- All Debrid: Dashboard
Solutions:
- Remove old torrents manually
- Configure slot management:
{"debrids": [{"minimum_free_slot": 10,"limit": 100}]}
- Add backup provider
Rate limit errors
Section titled “Rate limit errors”Reduce request rate:
{ "debrids": [ { "rate_limit": "100/minute", "workers": 25 } ]}Or add more API keys:
{ "download_api_keys": ["KEY1", "KEY2", "KEY3"]}“Link unavailable” or “Download failed”
Section titled ““Link unavailable” or “Download failed””Links expire after auto_expire_links_after (default 24h). Repair worker should fix automatically.
Manual fix:
- Go to Repair page
- Click “Scan Now”
- Process detected jobs
Usenet Issues
Section titled “Usenet Issues”Connection failed to NNTP server
Section titled “Connection failed to NNTP server”Check connectivity:
telnet news.provider.com 563Verify config:
- Correct host/port
- Valid username/password
- SSL enabled if provider requires
- Provider account active
NZB processing timeout
Section titled “NZB processing timeout”Increase timeout:
{ "usenet": { "processing_timeout": "20m", "availability_sample_percent": 5 }}Incomplete downloads
Section titled “Incomplete downloads”- Enable repair:
{"usenet": {"skip_repair": false}}
- Check provider retention (old content may be incomplete)
- Try different provider
”Too many connections”
Section titled “”Too many connections””Provider limit exceeded. Reduce:
{ "usenet": { "max_connections": 10 }}And per-provider:
{ "usenet": { "providers": [ {"max_connections": 15} ] }}Arr Integration Issues
Section titled “Arr Integration Issues”Test connection fails
Section titled “Test connection fails”- Check accessibility:
Terminal window curl http://decypharr:8282/version - Verify credentials in Arr match config
- Check firewall rules
- Try IP instead of hostname
Downloads stuck “Queued” in Arr
Section titled “Downloads stuck “Queued” in Arr”- Check Decypharr logs for errors
- Verify Debrid provider has free slots
- Check
download_uncachedsetting in Arr config - Manually test adding torrent via Decypharr UI
Files not importing
Section titled “Files not importing”Path mapping issue:
Arr and Decypharr must see files at identical paths:
# Both servicesvolumes: - /mnt/media:/mnt/mediaCheck download action:
{ "arrs": [ { "name": "Sonarr", "download_action": "symlink" # For mounts } ]}Torrent shows completed but Arr shows downloading
Section titled “Torrent shows completed but Arr shows downloading”Arr sync delay. Wait 1-2 minutes or trigger manual import in Arr.
Performance Issues
Section titled “Performance Issues”High CPU usage
Section titled “High CPU usage”Check:
docker stats decypharrCauses:
- Too many concurrent workers
- Repair loop
- Usenet processing
Solutions:
- Reduce workers:
{"debrids": [{"workers": 25}],"repair": {"workers": 1, "enabled": false}}
- Temporarily disable repair
- Check logs for errors/loops
High memory usage
Section titled “High memory usage”Usenet streams use disk buffer. Check:
{ "usenet": { "disk_buffer_path": "/cache/usenet" }}Ensure sufficient disk space.
For Rclone:
{ "mount": { "rclone": { "vfs_cache_max_size": "5GB" } }}Slow streaming/buffering
Section titled “Slow streaming/buffering”DFS:
{ "mount": { "dfs": { "chunk_size": "20MB", "disk_cache_size": "100GB" } }}Usenet:
{ "usenet": { "read_ahead": "32MB", "max_connections": 20 }}Check provider performance:
- Test speed from Debrid website
- Try different Usenet provider
- Check network bandwidth
Database growing large
Section titled “Database growing large”Config stored in config.json (text). No separate database.
If logs are large:
{"log_level": "warn"}WebDAV Issues
Section titled “WebDAV Issues”Can’t connect to WebDAV
Section titled “Can’t connect to WebDAV”- Test URL:
Terminal window curl http://localhost:8282/webdav/ - Check auth:
{"use_auth": true,"enable_webdav_auth": true}
- Verify credentials match config
Authentication keeps prompting
Section titled “Authentication keeps prompting”Clear browser cache or saved credentials.
For apps, provide full URL with auth:
http://username:password@decypharr:8282/webdav/Files won’t play in WebDAV client
Section titled “Files won’t play in WebDAV client”WebDAV has no local cache - streaming depends on Debrid/Usenet speed. For better performance, use DFS mount instead of WebDAV.
Repair Worker Issues
Section titled “Repair Worker Issues”Repair jobs stuck “Processing”
Section titled “Repair jobs stuck “Processing””- Check workers:
{"repair": {"workers": 2}}
- Check rate limits (might be throttled)
- Restart Decypharr:
Terminal window docker restart decypharr
False positives in repair
Section titled “False positives in repair”Increase scan interval:
{ "repair": { "interval": "2h", "auto_process": false }}Review jobs manually before processing.
Repair not detecting issues
Section titled “Repair not detecting issues”- Verify repair enabled:
{"repair": {"enabled": true}}
- Check per-Arr skip:
{"arrs": [{"skip_repair": false}]}
- Manual trigger:
Terminal window curl -X POST -H "Authorization: Bearer TOKEN" \http://localhost:8282/api/repair
Debugging
Section titled “Debugging”Enable debug logging
Section titled “Enable debug logging”{"log_level": "debug"}Docker:
docker logs -f decypharrBinary:
./decypharr 2>&1 | tee decypharr.logCheck configuration
Section titled “Check configuration”View current config:
curl -H "Authorization: Bearer TOKEN" \ http://localhost:8282/api/config | jqValidate JSON:
cat /config/config.json | jqHealth check
Section titled “Health check”# Versioncurl http://localhost:8282/version
# Torrents (requires auth)curl -H "Authorization: Bearer TOKEN" \ http://localhost:8282/api/torrentsReset to defaults
Section titled “Reset to defaults”Backup current config:
cp /config/config.json /config/config.json.backupDelete config:
rm /config/config.jsonRestart - setup wizard will run
Getting Help
Section titled “Getting Help”If you can’t resolve the issue:
- Check GitHub Issues: https://github.com/sirrobot01/decypharr/issues
- Provide:
- Decypharr version (
/version) - Relevant logs (with
log_level: debug) - Config (sensitive values redacted)
- Steps to reproduce
- Decypharr version (
- Include system info:
- OS/Docker version
- Mount type
- Providers used
Sanitize config before sharing:
cat config.json | sed 's/"api_key": ".*"/"api_key": "REDACTED"/g'