Docker Installation
This guide will walk you through setting up Configarr using Docker.
For quick starting and testing you can use the latest
tag.
But if you are ready and finished switch to fixed tag like 1.9.0
so you can update and do required changes if we release new versions.
Solutions like Renovate
are good for keeping your dependencies updated.
Quick Start
The fastest way to get started is using the official Docker image:
docker run -d \
--name=configarr \
-v /path/to/config:/config \
ghcr.io/raydak-labs/configarr:latest
# Or use dockerhub image:
docker run -d \
--name=configarr \
-v /path/to/config:/config \
configarr/configarr:latest
Docker Compose (Recommended)
For a more maintainable setup, we recommend using Docker Compose:
#version: "3.8"
services:
configarr:
image: ghcr.io/raydak-labs/configarr:latest
container_name: configarr
#user: 1000:1000 # Optional, defaults to root:root
environment:
- TZ=Etc/UTC
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
# restart: "no" # optional make sure this is set to no or removed. Default is no
Save this as docker-compose.yml
and run:
docker-compose run --rm configarr
Configuration
Volume Mappings
Volume | Description |
---|---|
/app/config | Contains all configuration files and data. Can be changed with Environment Variables. |
/app/repos | Contains cached repos. Can be changed with Environment Variables. |
/app/cfs | Contains custom cfs. Can be changed with Environment Variables. |
/app/templates | Contains templates. Can be changed with Environment Variables. |
Environment Variables
Basic Configuration
Create a configuration file at /path/to/config/config.yaml
more information about the config file can be found here.
You can also test everything with the Full Example locally.
Very basic configuration
#trashGuideUrl: https://github.com/BlackDark/fork-TRASH-Guides
#recyclarrConfigUrl: https://github.com/BlackDark/fork-recyclarr-configs
localCustomFormatsPath: /app/cfs
localConfigTemplatesPath: /app/templates
customFormatDefinitions:
- trash_id: example-in-config-cf
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
sonarr:
instance1:
# Set the URL/API Key to your actual instance
base_url: http://sonarr:8989
api_key: !secret SONARR_API_KEY
quality_definition:
type: series
include:
#### Custom
- template: sonarr-cf # template name
- template: sonarr-quality
custom_formats:
# Movie Versions
- trash_ids:
- 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
quality_profiles:
- name: ExampleProfile
# score: 0 # Uncomment this line to disable prioritised IMAX Enhanced releases
radarr: {} # no radarr instance
Updating
To update to the latest version:
docker-compose pull
docker-compose run --rm configarr
Troubleshooting
Running the container will output logs to the console.
With those you can see what is happening and if there are any issues.
Increase the log level with the LOG_LEVEL
environment variable to get more detailed logs.
Common Issues
-
Permission Issues
- Ensure user matches your required user
- Check folder permissions on the config directory
- after changing the user, adjust the user in the git repos (TRaSH-Guides, recyclarr) to match
-
Connection Issues
- Verify Sonarr/Radarr URLs are accessible from the container
- Confirm API keys are correct
- Check network connectivity between containers if using Docker networks
-
Configuration Issues
- Validate your YAML syntax
- Ensure all required fields are present in config.yaml
-
Container restarting
- Ensure you have not set restart policies and running with
docker-compose up -d
. This triggers the docker daemon to restart the container every minute. - Scheduling is NOT implemented into configarr as described here. Therefore please check the Scheduled example
- Ensure you have not set restart policies and running with
Need more help? open an issue.