Seekarr automatically triggers Radarr/Sonarr searches for monitored items in your library, with scheduling, cooldowns, and rate limits.
- Pulls missing items and upgrade candidates from Radarr/Sonarr.
- Optionally re-searches all monitored items with files for better upgrades.
- Triggers searches per instance on configured intervals.
- Tracks item cooldowns in SQLite to avoid repeated spam searches.
- Applies pacing and rate limits.
- Skips unreleased content until the configured delay passes.
- Supports quiet hours (with configurable timezone in Web UI).
Upgrade source modes:
Wanted List Only: only Arr's current upgrade candidates.Monitored Items Only: monitored items with files, even if Arr no longer lists them as upgrades.Both: combines Arr's upgrade candidates with monitored items that already have files.
services:
seekarr:
image: tumeden/seekarr:latest
container_name: seekarr
restart: unless-stopped
ports:
- "8788:8788"
volumes:
- ./data:/dataThen:
- Start container.
- Open
http://localhost:8788. - Set Web UI password.
- Configure Radarr/Sonarr instances and settings in Settings.
Persist ./data.
It contains:
config.yaml(base startup config; auto-created if missing)seekarr.db(state + Web UI settings)seekarr.masterkey(key used to decrypt stored Arr API keys)
Web UI setting changes are stored in seekarr.db.
- Web UI requires a password (stored as salted hash in SQLite).
- Arr API keys entered in Web UI are stored encrypted in SQLite.
- Do not lose
seekarr.masterkey, or stored API keys cannot be decrypted.
- Connection refused/unreachable: Arr URL/port is wrong or unreachable from container.
- HTTP 401/403: Arr API key is invalid.
- Need help cleaning up stuck or failed downloads? Decluttarr
- Looking for library maintenance automation for Plex/Jellyfin? Maintainerr