What is Triggarr?
Lightweight search automation daemon for Radarr and Sonarr. Set a schedule, walk away — Triggarr round-robins through your missing and upgrade-eligible media, triggering searches automatically.
- Dark-themed web dashboard with real-time connection status, search history, and live log viewer
- Browser-based config editor — no manual TOML editing needed
- Docker-first with PUID/PGID, least-privilege capabilities, and GHCR publishing
- Zero credential exposure — API keys never appear in HTTP responses, HTML, or logs
Highlights
- Scheduled round-robin searches for missing and cutoff/upgrade items in Radarr and Sonarr
- Persistent SQLite search history with filtering, pagination, and outcome tracking
- Configurable per-app search intervals and item counts
- Hard max safety ceiling to cap searches per cycle
- Search-now button for immediate manual triggers
- Connection health monitoring with "unreachable since" display
- Sonarr v3/v4 API version auto-detection
- "X of Y" position labels showing search progress
- Application log viewer in the web UI
- CSRF protection, SSRF validation, atomic config writes
- CI pipeline with pytest, ruff, and Docker build validation
- 174 tests passing
Install
```yaml
services:
triggarr:
image: ghcr.io/thejuran/triggarr:v1.2.1
container_name: triggarr
environment:
- PUID=1000
- PGID=1000
volumes:
- triggarr_config:/config
ports:
- "127.0.0.1:8080:8080"
cap_drop:
- ALL
cap_add:
- CHOWN
- SETUID
- SETGID
security_opt:
- no-new-privileges:true
restart: unless-stopped
volumes:
triggarr_config:
```
Run `docker compose up -d`, then visit http://localhost:8080 to configure.