Configuration and synchronization tool for Sonarr and Radarr.
Official support only for Sonarr v4 and radarr v5.
This will be a project similar to Recyclarr or Notifiarr but support for additional specification and not only what TrashGuides offer.
Other projects:
TrashGuide -> LocalFiles -> CFs in Config
config.yml
value: !secret secretKey
: Loads the value from the secrets file with the key secretKey
value: !env ENV_NAME
: Loads the value from the environment variable ENV_NAME
This repository also provide additional custom formats what TrashGuide does not offer.
See here
You have two ways to provide own custom formats:
As file
As yaml
: You can also directly implement the custom format in the config.
It follows the same keys as the JSON format.# config.yml
customFormatDefinitions:
- trash_id: custom-de-only
trash_scores:
default: -10000
trash_description: "Language: German Only"
name: "Language: Not German"
includeCustomFormatWhenRenaming: false
specifications:
- name: Not German Language
implementation: LanguageSpecification
negate: true
required: false
fields:
value: 4
What you have to add at least is to the field trash_id
or configarr_id
to the JSON/YAML.
The ID can be anything you like but should not conflict with other CustomFormats.
Otherwise those will be overwritten during merge process.
{
"configarr_id": "your_own_id",
...other content from export
}
config.yml
config.yml
to add it to the QualityProfiles. localCustomFormatsPath: /your/path/cfs
:scroll: You can see an example here Examples / Full. Or copy the existing custom formats custom in your location.
docker compose up -d
to run the containersecrets.yml
from the template
cp secrets.yml.template secrets.yml
config.yml
from the template
cp config.yml.template config.yml
pnpm start
or with the vscode taskSome examples for configuration are provided Examples
Required files:
config.yml
secrets.yml
Optional:
docker run --rm -v ./:/app/config ghcr.io/raydak-labs/configarr:latest
services:
configarr:
image: ghcr.io/raydak-labs/configarr:latest
volumes:
- ./config:/app/config # Contains the config.yml and secrets.yml
- ./dockerrepos:/app/repos # Cache repositories
- ./custom/cfs:/app/cfs # Optional if custom formats locally provided
- ./custom/templates:/app/templates # Optional if custom templates
Example how to run CronJob
which will regulary sync your configs.
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: configarr
spec:
schedule: "0 * * * *"
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 1
jobTemplate:
spec:
template:
spec:
containers:
- name: configarr
image: ghcr.io/raydak-labs/configarr:latest
imagePullPolicy: Always
tty: true # for color support
envFrom:
- configMapRef:
name: common-deployment-environment
volumeMounts:
- mountPath: /app/repos # Cache repositories
name: app-data
subPath: configarr-repos
- name: config-volume # Mount specifc config
mountPath: /app/config/config.yml
subPath: config.yml
- name: secret-volume
mountPath: /app/config/secrets.yml # Mount secrets
subPath: secrets.yml
volumes:
- name: app-data
persistentVolumeClaim:
claimName: media-app-data
- name: config-volume
configMap:
name: configarr
- name: secret-volume
secret:
secretName: configarr
restartPolicy: Never
---
apiVersion: v1
kind: Secret
metadata:
name: configarr
type: Opaque
stringData:
secrets.yml: |
SONARR_API_KEY: "{{ configarr.sonarrApiKey }}"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: configarr
data:
config.yml: |
trashGuideUrl: https://github.com/TRaSH-Guides/Guides
recyclarrConfigUrl: https://github.com/recyclarr/config-templates
sonarr:
series:
# Set the URL/API Key to your actual instance
base_url: http://sonarr:8989
api_key: !secret SONARR_API_KEY
# Quality definitions from the guide to sync to Sonarr. Choices: series, anime
quality_definition:
type: series
include:
# Comment out any of the following includes to disable them
#### WEB-1080p
- template: sonarr-quality-definition-series
- template: sonarr-v4-quality-profile-web-1080p
- template: sonarr-v4-custom-formats-web-1080p
#### WEB-2160p
- template: sonarr-v4-quality-profile-web-2160p
- template: sonarr-v4-custom-formats-web-2160p
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats: []
radarr: {}