configuration - Drazzilb08/daps GitHub Wiki
β οΈ Important: It is strongly recommended to manage your configuration using the DAPS Web UI.
Directly editingconfig.yml
is discouraged unless you know exactly what you're doing, as manual edits can easily break functionality or introduce errors. The UI provides built-in validation and guidance for all supported options.
Your configuration file is typically located at:
/config/config.yml
If youβre running locally, it may be located in your DAPS repo directory under config/config.yml
.
The DAPS configuration file is structured in YAML and consists of:
-
schedule
: Defines how often each module runs (via Docker or internal scheduler). -
instances
: Stores your Radarr, Sonarr, Plex, and qBittorrent endpoints. -
notifications
: Manages Discord or Notifiarr integrations. -
module-specific
blocks: Each module (e.g.,poster_renamerr
,border_replacerr
,sync_gdrive
) has its own configurable section.
For reference, a sample config file is available here.
Each module block under schedule
allows one of the following:
schedule:
poster_renamerr: daily(01:00|13:00)
border_replacerr: null
renameinatorr: daily(23:00)
Accepted values:
-
run
β execute once (manual testing) -
daily(HH:MM)
β e.g.daily(18:00)
-
hourly(HH)
β e.g.hourly(00)
-
weekly(day@HH:MM)
β e.g.weekly(monday@12:00)
-
monthly(day@HH:MM)
β e.g.monthly(15@18:15)
-
cron(...)
β use a full cron expression (advanced)
β Do not combine
cron(...)
with human-readable values in the same schedule.
Configure the apps you want DAPS to connect to.
instances:
radarr:
radarr_hd:
url: http://192.168.1.200:7878
api: <api_key>
sonarr:
sonarr_anime:
url: http://192.168.1.200:9090
api: <api_key>
plex:
plex_1:
url: http://192.168.1.200:32400
api: <token>
Use meaningful names for each instance, as these are referenced throughout the config (e.g. in poster_renamerr
, labelarr
, upgradinatorr
).
Each supported module has its own configuration block:
Renames posters from MM2K-style names to Kometa-compatible format using Radarr/Sonarr/Plex as sources.
-
source_dirs
: Input folders (e.g. GDrive sync locations) -
destination_dir
: Final output for Kometa -
instances
: Linked metadata providers -
action_type
:copy
ormove
-
sync_posters
: Whether to runsync_gdrive
first -
run_border_replacerr
: Whether to also run border replacement -
dry_run
: Preview without making changes
Modifies or removes borders from posters (optional visual enhancement):
-
border_colors
: e.g.["#FF0000", "#00FF00"]
-
border_width
: Default is 26px -
holidays
: Time-specific border changes (e.g. Halloween, Valentineβs Day) -
skip
: Can be toggled on/off
Syncs poster files from Google Drive using RClone:
-
client_id
,client_secret
,token
orgdrive_sa_location
-
gdrive_list
: Multiple source folders and local destination mappings
Example:
gdrive_list:
- id: 1fKRkx4...MBIF
location: /Users/drazzilb/sandbox/input/folder_a
name: drazzilb
Detects unmatched assets across Radarr/Sonarr/Plex libraries to help track down unlinked posters.
-
ignore_collections
: Skip specific collections -
ignore_root_folders
: Skip specified root folders
Renames series/movies in Sonarr/Radarr to match naming conventions and tagging.
-
rename_folders
: Also rename folders -
tag_name
: Tag used to mark renamed items -
enable_batching
: Optional batching of renames
Scans for upgrades to existing media and upgrades if available.
-
tag_name
,ignore_tag
-
season_monitored_threshold
: (e.g. 99% monitored)
Supports Notifiarr and Discord. Example:
notifications:
nohl:
discord:
webhook: https://discord.com/api/webhooks/xxx
notifiarr:
webhook: https://notifiarr.com/api/v1/notification/passthrough/xxx
channel_id: "1234567890"
Other module sections (e.g., poster_renamerr
, labelarr
, renameinatorr
) can be configured similarly under notifications
.
- Always back up your
config.yml
before making manual edits. - If you must edit manually, make sure the structure matches the latest schema in
config_template.json
.