Skip to main content

File Structure

This page describes the general file structure used by Recyclarr for its data. Many of these are platform-specific.

Application Data Directory

The application data directory is the root location for Recyclarr's files. Everything that Recyclarr reads or writes, by default, starts with this path.

PlatformLocation
Windows%APPDATA%\recyclarr
Linux~/.config/recyclarr
MacOS~/Library/Application Support/recyclarr
Docker/config

Default YAML Configuration Files

Configuration files may be located in multiple places, each documented in the sections that follow. For all supported locations, the following behavior applies:

  • All methods may be used together and all corresponding YAML files will be loaded.
  • You don't have to use all locations; you can choose only the ones you want to use.
  • If at least one configuration file is not found, it will result in an error.
  • All YAML files must have the yml or yaml extension.

File: recyclarr.yml

The default YAML configuration file is named recyclarr.yml and it is always located in the application data directory (listed above based on platform). Example (using docker path):

/config/recyclarr.yml

Directory: configs

Under the application data directory, there is a subdirectory named configs in which you can place any number of configuration YAML files. This system works especially well in Docker, where you don't really have an easy way to specify custom CLI arguments. The following requirements must be met:

  • All files must have the .yml or .yaml extension in order to be recognized.
  • Every single YAML file placed here will be loaded as if every file were specified in the --config command line argument. This behavior is non-recursive; meaning if you place YAML files in subdirectories under configs/, they will not be loaded.
  • The names of the files are unimportant and can be whatever you want.
caution

Include templates should not be placed here; use the includes directory instead.

Include Templates Directory

A directory named includes exists under the application data directory where local include templates may be placed. Any relative paths to include templates will start at this directory.

For example, if I have the following include directive in a configuration file named foo.yml:

include:
- config: bar/reusable.yml

The expected file structure of my includes directory would be visualized as follows:

.
├── configs/
│ └── foo.yml
└── includes/
└── bar/
└── reusable.yml

For more information about include templates, see the respective behaviors page.

caution

Configuration files (non-includes) should not be placed here; use the configs directory for those.