Profilarr is a configuration management platform for Radarr and Sonarr. Instead of hand-editing quality profiles and custom formats in each Arr’s web interface — and hoping the two instances stay in step — you build the configuration once in Profilarr, test it, and deploy it to as many Arr instances as you run.
It is a TypeScript application shipped as a Docker image, with a web UI organised around three verbs: build, test, deploy. Databases of ready-made quality profiles and custom formats (Dictionarry, TRaSH Guides, Dumpstarr) can be linked and kept current, or you can maintain your own. Testing happens before anything touches a server, and deployment covers sync, automated upgrades, bulk renames and scheduled jobs. Local tweaks survive upstream updates, so an imported database does not overwrite your deliberate changes.
Quality profiles and custom formats are the part of a media stack that is easiest to get subtly wrong and hardest to keep consistent. Every hand-edited change in one Arr drifts the moment a second instance, a TRaSH Guides update or a new release group appears. Profilarr treats that configuration as code: one source of truth, tested against real release names, deployed to every instance, and diffable when something changes. The dry runs and the test views matter more than the convenience — you can see what a profile would choose for a specific title, and what a rename would do, before any of it is applied to a library.
Profilarr v2 runs as a container: ghcr.io/dictionarry-hub/profilarr:latest for linux/amd64 and linux/arm64, publishing port 6868 and mounting /config. Environment variables are PUID, PGID, UMASK, TZ, PORT, HOST and AUTH (login on by default; off or OIDC are the alternatives), plus ORIGIN when you reach it through a reverse proxy. Custom format and profile testing needs a second small service, ghcr.io/dictionarry-hub/profilarr-parser, exposed on port 5000 — everything else works without it. Tag latest/2 track stable, develop is the pre-release channel. Supported Arr versions are Radarr v5 and v6 and Sonarr v4 (v5 is experimental). The host needs a Linux kernel of 3.17 or newer, so Synology DSM’s 3.10 kernel is not supported by v2. After first start, open http://localhost:6868, add your Arr instances with their API keys, link a database, and sync a single profile before deploying the rest.
Free and open source, licensed under the GNU Affero General Public License v3.0 (AGPL-3.0); the full text is in the repository’s LICENSE file.