Configuration Overview
PrepArr uses a declarative configuration model. You describe the desired state of your Servarr instance in a configuration file, and PrepArr reconciles the running instance to match.
Configuration Sources
Section titled “Configuration Sources”PrepArr loads configuration from three sources, merged in priority order:
- CLI arguments (highest priority) —
--postgres-host=localhost - Environment variables —
POSTGRES_HOST=localhost - Configuration file — JSON or YAML file at
CONFIG_PATH - Default values (lowest priority) — Built-in defaults
Higher-priority sources override lower-priority ones for the same setting.
Configuration File
Section titled “Configuration File”The configuration file defines the desired state of your Servarr instance. It can be JSON or YAML, specified via the CONFIG_PATH environment variable.
JSON format
Section titled “JSON format”{ "apiKey": "2bac5d00dca43258313c734821a15c4c", "prowlarrSync": true, "rootFolders": [ { "path": "/tv", "accessible": true } ], "qualityProfiles": [...], "downloadClients": [...], "customFormats": [...], "mediaManagement": {...}, "naming": {...}}YAML format
Section titled “YAML format”apiKey: 2bac5d00dca43258313c734821a15c4cprowlarrSync: truerootFolders: - path: /tv accessible: truequalityProfiles: [...]downloadClients: [...]Root Configuration Properties
Section titled “Root Configuration Properties”| Property | Type | Description |
|---|---|---|
apiKey | string | 32-character hex API key. Auto-generated if not provided. |
prowlarrSync | boolean | Enable Prowlarr indexer sync. Default: false. |
rootFolders | array | Root folder definitions |
qualityProfiles | array | Quality profile definitions |
customFormats | array | Custom format definitions |
downloadClients | array | Download client definitions |
indexers | array | Indexer definitions |
applications | array | Prowlarr application sync configs |
mediaManagement | object | Media management settings |
naming | object | Naming conventions |
qualityDefinitions | array | Quality size limits |
releaseProfiles | array | Release scoring (Sonarr only) |
qbittorrent | object | qBittorrent-specific settings |
bazarr | object | Bazarr subtitle manager settings |
How Reconciliation Works
Section titled “How Reconciliation Works”The sidecar compares each configuration section against the current state of the Servarr instance:
- Create — Resources in your config that don’t exist in Servarr are created
- Update — Resources that exist but differ from your config are updated
- Delete — Resources in Servarr that aren’t in your config are removed (for CRUD resources)
- Skip — Resources that match are left unchanged
Some configuration sections (like media management and naming) only support updates, not create/delete, since they are single-value settings rather than collections.