Skip to content

Media Indexer

Prowlarr

The Prowlarr charm (prowlarr-k8s) manages Prowlarr in your Charmarr stack. Prowlarr is the central indexer manager that syncs indexers to your media managers (Radarr/Sonarr).

Relations

The charm talks to other charms to figure out how to set everything up. The order in which these connections happen doesn't matter. The charm sorts it out.

Connects To Interface What It Learns
Radarr/Sonarr media-indexer Gets their API URLs, registers them as "Applications" in Prowlarr
FlareSolverr flaresolverr Gets its URL, configures it as a proxy for Cloudflare-protected indexers
VPN Gateway vpn-gateway VPN routing
Ingress istio_ingress_route Enables external access

Unlike Radarr/Sonarr, Prowlarr doesn't need storage or download client relations. It only manages indexers.

The charm aggressively reconciles applications. If you manually add an application in Prowlarr that isn't a Juju relation, it gets deleted. Charms are declarative and Charmarr is designed to ✨just work✨.

An API key is generated automatically and stored as a Juju secret. It rotates periodically if configured.

How It Works

Prowlarr's job is to register your arr apps as "Applications". Once registered, Prowlarr automatically syncs all your indexers to them. The charm doesn't trigger sync operations. It just registers apps and sets syncLevel: fullSync, letting Prowlarr handle the rest.

Users add indexers via the Prowlarr UI. The charm handles everything else.

Lifecycle

sequenceDiagram
    participant PC as Prowlarr Charm
    participant Prowlarr as Prowlarr App
    participant RC as Radarr/Sonarr
    participant FlareSolverr

    PC->>PC: Create API key
    PC->>Prowlarr: Start
    Prowlarr-->>PC: Ready
    Note over PC: Waits if no reply

    RC-->>PC: Here's our API URLs
    PC->>Prowlarr: Register as Applications

    FlareSolverr-->>PC: Here's my URL
    PC->>Prowlarr: Configure as proxy

Configuration

See prowlarr-k8s on Charmhub for all options.


FlareSolverr

The FlareSolverr charm (flaresolverr-k8s) manages FlareSolverr in your Charmarr stack. FlareSolverr is a Cloudflare bypass proxy that helps Prowlarr access indexers behind Cloudflare protection.

Relations

Connects To Interface What It Provides
Prowlarr flaresolverr Its URL so Prowlarr can use it as a proxy

Lifecycle

sequenceDiagram
    participant FC as FlareSolverr Charm
    participant FS as FlareSolverr App
    participant Prowlarr

    FC->>FS: Start
    FS-->>FC: Ready
    Note over FC: Waits if no reply

    FC-->>Prowlarr: Here's my URL

FlareSolverr is simple. It starts, becomes ready, and tells Prowlarr where to find it. Prowlarr then configures it as an indexer proxy automatically.

Configuration

See flaresolverr-k8s on Charmhub for all options.