Manage quality profiles, custom formats, and release profiles across your Radarr and Sonarr instances. Define your profiles once with a Git-backed configuration database, then sync them to any number of *arr instances.
Warning
V2 is under heavy development and is NOT ready for production use. Use Profilarr V1 until V2 is ready.
Core
- Link - Connect to configuration databases like the Dictionarry database or any Profilarr Compliant Database (PCD)
- Bridge - Add your Radarr and Sonarr instances by URL and API key
- Sync - Push configurations to your instances. Profilarr compiles everything to the right format automatically
For Users
- Ready-to-Use Configurations - Stop spending hours piecing together settings from forum posts. Get complete, tested quality profiles, custom formats, and media settings designed around specific goals
- Stay Updated - Make local tweaks that persist across upstream updates. View changelogs, diffs, and revert changes when needed. Merge conflicts are handled transparently
- Automated Upgrades - The arrs don't search for the best release, they grab the first RSS item that qualifies. Profilarr triggers intelligent searches based on filters and selectors
For Developers
- Unified Architecture - One configuration language that compiles to Radarr/Sonarr-specific formats on sync. No more maintaining separate configs for each app
- Reusable Components - Regular expressions are separate entities shared across custom formats. Change once, update everywhere
- OSQL - Configurations stored as append-only SQL operations. Readable, auditable, diffable. Git-native version control with complete history
- Testing - Validate regex patterns, custom format conditions, and quality profile behavior before syncing
Authentication
AUTH=on(default) - Username/password login with session-based authAUTH=oidc- SSO via OpenID Connect providerAUTH=off- No authentication (use with external auth like Authentik/Authelia)- Optional local bypass toggle for LAN access without login
API access via X-Api-Key header (bcrypt-hashed in DB). See
security docs for details.
We're most active on Discord, where we post announcements, help people troubleshoot their setups, and have the kind of conversations that don't fit neatly into GitHub issues. If you've got questions or want to follow along with development, that's where to find us.
See dictionarry.dev for complete installation, usage, and API documenation.
services:
profilarr:
image: ghcr.io/dictionarry-hub/profilarr:latest
container_name: profilarr
ports:
- '6868:6868'
volumes:
- ./config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- PARSER_HOST=parser
- PARSER_PORT=5000
depends_on:
parser:
condition: service_healthy
# Optional - only needed for CF/QP testing
parser:
image: ghcr.io/dictionarry-hub/profilarr-parser:latest
container_name: profilarr-parser
expose:
- '5000'Note
The parser service is only required for custom format and quality profile
testing. Linking, syncing, and all other features work without it. Remove the
parser service and related environment variables if you don't need it.
Prerequisites
git clone https://github.com/Dictionarry-Hub/profilarr.git
cd profilarr
deno task devThis runs the parser service and Vite dev server concurrently. See CONTRIBUTING.md for architecture documentation.
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
User ID for file permissions |
PGID |
1000 |
Group ID for file permissions |
UMASK |
022 |
File creation mask |
TZ |
Etc/UTC |
Timezone for scheduling |
PORT |
6868 |
Web UI port |
HOST |
0.0.0.0 |
Bind address |
APP_BASE_PATH |
/config |
Base path for data, logs, backups |
AUTH |
on |
Auth mode: on, off, oidc |
ORIGIN |
— | External URL for reverse proxy setups (e.g., https://profilarr.example.com) |
OIDC_DISCOVERY_URL |
— | OIDC discovery endpoint (only when AUTH=oidc) |
OIDC_CLIENT_ID |
— | OIDC client ID (only when AUTH=oidc) |
OIDC_CLIENT_SECRET |
— | OIDC client secret (only when AUTH=oidc) |
PARSER_HOST |
localhost |
Parser service host |
PARSER_PORT |
5000 |
Parser service port |
Profilarr is free and open source. You do not need to pay anyone to use it. If someone is charging you for access to Profilarr, they are violating the spirit of this project.