A self-hosted movie collection manager. Monitors your library, searches indexers, and grabs the best release — with quality profiles that actually make sense.
$ docker run -d -p 8282:8282 -v data:/config ghcr.io/davidfic/luminarr
Radarr makes you learn Custom Formats — regex patterns, scoring weights, and thresholds — just to say "I want x265." Luminarr makes codec and HDR first-class dimensions. Pick what you want from a dropdown.
x265|HEVC
+10
Poster grid or list view. Filter by status, quality, library, and search. TMDB metadata, cast, and posters.
RSS sync every 15 minutes. Automatic grabbing, downloading, and importing with blocklist protection.
No analytics, no crash reports, no update checks, no phone home. Credentials use a Secret type that redacts in all output.
Import quality profiles, libraries, indexers, download clients, and your entire movie list from a running Radarr instance.
Queue page updates in real time. No polling lag. See downloads progress the moment they change.
Optional ffprobe integration verifies actual codec, resolution, and HDR. Flags mislabelled releases with a mismatch badge.
Discord, Slack, webhook, email, and script execution. Subscribe each channel to specific events.
Monthly calendar colour-coded by download status. Wanted page shows missing and cutoff-unmet movies at a glance.
Interactive OpenAPI docs at /api/docs. Torznab and Newznab indexer support. Compatible with Prowlarr and Jackett.
Not a replacement war. Radarr is proven software. Luminarr fixes the parts that frustrated us.
| Radarr | Luminarr | |
|---|---|---|
| Backend | .NET / Mono | Go |
| Frontend | Angular | React |
| Database | SQLite / Postgres | SQLite |
| Memory (idle) | 300 – 500 MB | 30 – 60 MB |
| Startup time | 10 – 30 s | < 1 s |
| Quality system | Custom Formats + scoring | Explicit codec & HDR |
| Telemetry | Optional analytics | None, ever |
| Migration | — | One-click import |
Radarr keeps running during the import. There's no cutover moment. Take your time, verify everything, then switch when you're ready.
Enter your Radarr URL and API key
See everything Luminarr found
Pick what to bring over and click Import
Profiles, libraries, indexers, clients, movies — all there
Docker Compose is the easiest path. The API key auto-generates on first run and persists in the volume.
services: luminarr: image: ghcr.io/davidfic/luminarr:latest ports: - "8282:8282" environment: LUMINARR_TMDB_API_KEY: your-tmdb-key volumes: - luminarr-data:/config - /path/to/movies:/movies restart: unless-stopped volumes: luminarr-data:
Then docker compose up -d and open http://localhost:8282. That's it.
Luminarr connects only to services you explicitly configure. Nothing else.
No usage data, events, or analytics are sent anywhere. Errors are logged locally only.
Errors are logged to your local filesystem. No Sentry, no Bugsnag, no third-party services.
Luminarr never contacts any server to check for updates. You update when you choose to.
A Secret type renders as *** in all log output and JSON serialization. Keys never leak.
Luminarr was built with Claude as the primary code generator, with human design and review throughout. We think that's worth being upfront about.
Every architectural decision was made by a human and documented
Security-sensitive code was explicitly designed and reviewed
Consistent patterns throughout — no style drift halfway through
Test suite covers all core services with unit and integration tests
MIT licensed. One binary. Takes 60 seconds to set up.