Automation
Photo of author

What Is Profilarr For Sonarr And Radarr?

Profilarr is an open-source configuration management platform designed to build, test, and deploy quality profiles and custom formats across Sonarr and Radarr instances from a single interface, eliminating manual configuration drift.

If you run a self-hosted media stack, you already know the pain. You spend hours tuning quality profiles in Radarr, then realize your Sonarr instance is completely out of sync. Multiply that across two or three instances and the problem compounds fast.

Profilarr solves this by acting as a centralized configuration hub that connects to curated databases, lets you build and test your settings locally, and then pushes everything to your arr instances in one operation.

For data hoarders focused on retrieving high-resolution archival assets from Usenet, consistent quality profiles are not optional. A misconfigured instance can silently accept lower-quality releases when better ones are available. Profilarr removes that risk by enforcing the same scoring logic everywhere.

The tool is self-hosted, free, and licensed under AGPL-3.0. It runs as a Docker container and works with Sonarr v4 and Radarr v5 and newer.

What Profilarr Actually Does

At its core, Profilarr handles the three phases of configuration management: building your settings, testing them against real release logic, and deploying them to live arr instances. Each phase is distinct, which keeps the workflow predictable.

Why It Exists Alongside Sonarr And Radarr

Sonarr and Radarr are excellent at automating downloads, but they offer no native way to synchronize their internal settings across multiple instances. Every quality profile, custom format, and naming convention lives inside that one instance and goes nowhere else.

Profilarr fills that gap. It sits between your configuration source and your arr instances, acting as the authority on what settings should look like everywhere.

For anyone running separate Radarr instances for different resolution libraries, or separate Sonarr instances for different content categories, this is immediately useful.

How It Centralizes Configuration Across Arr Instances

Profilarr connects to curated configuration databases like Dictionarry or Dumpstarr, pulls down the profiles and custom formats, lets you apply local tweaks, and then pushes the final configuration to every connected arr instance simultaneously.

The sync process uses each arr instance’s API, so no manual file editing is required. Changes that originate upstream in the database can be pulled in, reviewed, and deployed without rebuilding anything from scratch.

Local tweaks persist across upstream updates through built-in conflict handling, meaning your customizations do not get overwritten silently.

What Is Profilarr In A Multi-Instance Media Stack

In a multi-instance media stack, Profilarr functions as the single source of truth for configuration. Rather than logging into four separate Radarr instances to update a custom format score, you update it once in Profilarr and sync outward.

This is particularly valuable for data hoarders managing separate instances for archival resolution tiers. A change to how a specific release group is scored propagates everywhere in seconds rather than hours.

Core Configuration Objects It Manages

Profilarr manages the full set of configuration objects that determine which releases get grabbed and how they are ranked. Quality profiles, custom formats, delay profiles, naming conventions, and media settings are all handled within the same interface.

Quality Profiles And Resolution Preferences

Quality profiles define which resolutions and sources are acceptable and in what order they should be preferred. Within Profilarr, you group and order qualities, then assign custom format scores to each profile per app.

For a dedicated high-resolution archival Radarr instance, this means you can enforce strict preferences, prioritizing web-dl or HDR releases above compressed alternatives. The same profile structure can then be deployed to a secondary instance with different thresholds for a different resolution tier.

SettingWhat It Controls
Quality orderWhich resolution ranks highest
CutoffMinimum acceptable quality
Custom format scoresHow releases are ranked within a quality group

Custom Formats And Release Scoring Logic

Custom formats are the scoring engine inside Radarr and Sonarr. Each format applies a positive or negative score to a release based on conditions like resolution source, release group, size, language, or codec flags.

Profilarr lets you build these formats visually and test them before deployment. You can match releases by HDR flag, web-dl source, specific release group tags, or any combination of conditions. Scores accumulate, so a release from a preferred group with the right source flags climbs to the top of the queue automatically.

This scoring approach is what makes high-resolution archival retrieval from Usenet reliable without constant manual intervention.

Delay Profiles Naming Conventions And Media Settings

Delay profiles control how long Radarr or Sonarr waits before grabbing a release, and which protocol is preferred. Profilarr manages these alongside naming conventions and general media management settings.

Naming conventions determine how downloaded files and folders are labeled. Consistent naming across instances matters for media server organization and long-term archival clarity. Managing all of this in one place means a naming convention change rolls out everywhere at once rather than requiring manual edits per instance.

How Testing And Validation Work

Before any configuration reaches a live instance, Profilarr provides a structured testing layer. Regular expression validation, release condition testing, and quality simulation each address a different failure point in the configuration workflow.

Regular Expressions And Reusable Matching Rules

Custom formats rely on regular expressions to match release names against defined patterns. Profilarr treats these regex patterns as reusable objects that can be shared across multiple custom formats rather than duplicated inside each one.

Each pattern supports embedded Regex101 test cases, so you can validate a pattern against real release strings inside Profilarr without switching to an external tool. A failing test case surfaces immediately before the format ever reaches a live instance.

Reusable patterns also make maintenance easier. Updating a shared expression propagates the change to every custom format that references it.

Parser Service Match Visualization And C# Parser Logic

The parser service is a companion container that powers custom format testing and quality profile simulation. It runs separately from the main Profilarr container and is configured via the parser_host and parser_port environment variables.

What makes this particularly reliable is that the parser uses the same C# parser logic that Radarr and Sonarr use internally. When you test a release string against your custom format conditions, you are seeing exactly how your arr instance would evaluate it, not an approximation.

Match visualization breaks down each condition and shows whether it passed or failed, which makes debugging a misconfigured format straightforward.

Quality Simulation Dry-Run Previews And Conflict Handling

Quality profile simulation lets you enter a specific release and see how the profile would score and rank it before deployment. This dry-run preview catches scoring gaps, like a release that should score high but falls below cutoff due to a missing condition.

Conflict handling addresses a different scenario: upstream database changes that overlap with your local tweaks. When a pull from Dictionarry or another database modifies something you have already customized, Profilarr flags the conflict rather than silently overwriting your change.

This makes it safe to stay current with upstream improvements without losing instance-specific configurations.

Deployment And Day-To-Day Automation

Once configurations are tested and ready, Profilarr handles deployment and ongoing automation through a set of job-based tools. Sync, rename, notifications, and backup operations all run through the same interface.

Sync Jobs Across Multiple Instances

The sync operation pushes your current configuration state to every connected arr instance simultaneously. You can trigger a sync manually or schedule it as an automated job with a defined interval.

Scheduled jobs in Profilarr cover sync, upgrade searches, rename operations, backups, and cleanup tasks. This means a database update from Dictionarry can flow through to your live Radarr and Sonarr instances on a schedule without any manual steps.

Automated upgrade searches include configurable filters and selectors, so Profilarr can trigger searches for releases that now meet a higher quality threshold after a profile change.

Bulk Rename Notifications And Webhooks

The rename feature handles bulk renaming of files and folders across connected instances. Before any rename runs, a dry-run preview shows exactly what will change, which is important when managing large archival libraries where a naming error is difficult to reverse at scale.

Notifications connect to Discord, Telegram, Slack, ntfy, Pushover, Gotify, Apprise, and generic webhooks. These keep you informed when a sync completes, a job fails, or an upgrade search finds a match. For an unattended automation setup, this kind of visibility is practical rather than optional.

Backups Local Tweaks And Ongoing Maintenance

Profilarr includes scheduled backup jobs that protect your configuration state. If a sync introduces an unexpected change or a container update causes instability, a recent backup lets you restore quickly.

Local tweaks are stored separately from upstream configuration, so they persist across database pulls and version updates. Day-to-day maintenance largely reduces to reviewing upstream changes, approving or resolving conflicts, and running a sync. The job scheduler handles the rest without requiring daily attention.

Installation Paths And Self-Hosted Requirements

Profilarr runs exclusively as a Docker container and requires a Linux-based Docker host with kernel 3.17 or newer. Older kernels, including those used by some Synology DSM setups on kernel 3.10, are not supported in v2.

Docker Container And Docker Compose Basics

The standard deployment uses Docker Compose with two services: the main profilarr container and an optional profilarr-parser container for testing features. The main container runs on port 6868 by default.

A minimal Compose file maps the config directory to a local path and sets environment variables for user permissions (PUID, PGID), timezone (TZ), and parser connectivity (PARSER_HOST, PARSER_PORT). The parser service is only required if you intend to use custom format testing or quality profile simulation. Linking, syncing, and all other features operate without it.

Supported platforms are linux/amd64 and linux/arm64. Sonarr v4 and Radarr v5 or newer are required on the arr side.

Reverse Proxy Networking And API Connectivity

If you access Profilarr through a reverse proxy, the ORIGIN environment variable must be set to the public URL. This is required for session handling and, critically, for OIDC authentication to function correctly since Profilarr expects the callback at {ORIGIN}/auth/oidc/callback.

API connectivity to Radarr and Sonarr runs through each instance’s standard API key. Profilarr stores these credentials and communicates directly with each arr instance over your local network or VPN. No external relay is involved.

For multi-instance setups, each arr instance is added separately within Profilarr’s interface, each with its own host, port, and API key.

Storage Permissions And Memory Allocation Considerations

The config volume mounted at /config stores the SQLite database, local tweaks, backup files, and job schedules. Permissions on this directory must match the PUID and PGID values set in the environment or the container will fail to write its state.

Memory requirements are modest for standard use. Running the parser service adds a small additional footprint since it hosts a .NET runtime. On resource-constrained hardware, you can omit the parser service and still use all sync and deploy features without limitation.

Configuration Sources Ecosystem And Alternatives

Profilarr does not require you to build every profile from scratch. It connects to external configuration databases and supports a CLI-based alternative for users who prefer a different workflow.

Dictionarry Dumpstarr And PCD Template Databases

Dictionarry is the primary curated database that Profilarr is built around. It provides pre-built quality profiles, custom formats, and scoring logic maintained by contributors with deep knowledge of release standards. Profilarr connects to it directly through the link database feature.

Dumpstarr is a separate community database that serves a similar function. Both act as upstream sources that you pull from, review, and optionally customize before syncing to your instances.

For users who want to share their own configurations, the PCD template provides a standardized format for building and publishing a personal or community database that others can link to within Profilarr.

Link Databases And Update Workflows

The link database feature is what makes Profilarr a living configuration system rather than a one-time import tool. Once you link a database, upstream changes from Dictionarry or Dumpstarr can be pulled in at any time.

Git is the underlying mechanism for version-controlled database operations, which means update history is traceable and rollbacks are possible when a database update introduces something unexpected. Development dependencies for building locally include Git, Deno 2.x, and optionally the .NET SDK 8.0 for parser development.

For production users, this complexity is hidden behind the Profilarr interface and only matters if you plan to contribute to or fork an existing database.

CLI-Based Alternatives Such As Recyclarr

Recyclarr is the main CLI-based alternative for users who prefer a configuration-as-code approach. It syncs custom formats and quality profiles to Radarr and Sonarr from a YAML configuration file managed outside any web interface.

The trade-offs are real. Recyclarr offers tighter integration with version-controlled infrastructure and works well in scripted pipelines. Profilarr offers a visual interface, built-in testing, rename automation, job scheduling, and notification support that Recyclarr does not replicate.

For data hoarders who want a fully browser-based management experience with testing built in, Profilarr handles more of the stack in one place.

If you are evaluating the broader Sonarr and Radarr tooling landscape beyond configuration management, our Sonarr alternatives guide covers the full ecosystem of adjacent and legacy tools.

Frequently Asked Questions

What does the app do and what problem does it solve?

Profilarr is a configuration management platform that centralizes quality profiles, custom formats, delay profiles, and media settings for Sonarr and Radarr. It solves the problem of configuration drift across multiple arr instances by providing a single interface to build, test, and sync settings everywhere at once.

How do you set it up for the first time and connect it to Radarr?

Deploy Profilarr using Docker Compose, then open the web interface at port 6868. From there, add your Radarr instance by entering its host address, port, and API key, then link a configuration database like Dictionarry and run your first sync to push profiles to Radarr.

Where can you find the official GitHub repository and documentation?

The official repository is maintained by the Dictionarry-Hub organization on GitHub at github.com/Dictionarry-Hub/profilarr. Full documentation, environment variable references, and setup guides are available through the project’s linked documentation site referenced in the repository README.

How do you use it to manage or sync Radarr quality profiles?

Link a database source such as Dictionarry, select the quality profiles you want to use, apply any local scoring tweaks, and then run a sync operation. Profilarr pushes the resulting profiles directly to Radarr via its API, overwriting or merging with existing profiles based on your conflict settings.

Is there a version 2 release, and what are the main changes compared to earlier versions?

Yes, Profilarr v2 is the current major release. It introduces a rebuilt interface, the parser service for C#-accurate custom format testing, job scheduling, rename automation, notification integrations, and OIDC authentication support. The v2 architecture also dropped support for older Linux kernels below 3.17.

How do you install and run it on Unraid (Docker) and troubleshoot common startup issues?

On Unraid, deploy Profilarr through the Docker template or Community Applications using the ghcr.io/dictionarry-hub/profilarr:latest image. Set the config path, PUID, PGID, and timezone variables, then map port 6868. Common startup issues include permission errors on the config volume, which are resolved by matching PUID and PGID to the directory owner, and parser connectivity failures, which are resolved by confirming the PARSER_HOST and PARSER_PORT variables point to the parser container correctly.

About the Author

Don is a tech enthusiast with a passion for datahoarding, privacy, and security. He has been involved in technology for over a decade, working in various roles such as a desktop support engineer, network administrator, and IT consultant. Don's extensive experience in the tech industry has given him a deep understanding of how technology works and how to use it to its fullest potential.

Don is particularly interested in topics such as VPNs, privacy and IRC, which are all related to data privacy and security. He believes that protecting our digital privacy is essential, especially in today's world where data breaches and cyber attacks are becoming more common. Don has dedicated himself to educating himself and others on how to protect their digital privacy and stay safe online.

In addition to his tech expertise, Don is also an avid gamer. He enjoys playing video games in his free time, and is also a family man who enjoys spending time with his wife and children. He believes that technology should enhance our lives and bring us closer together, and he strives to promote this message through his work.