Skip to main content

The documentation here is for an unreleased version of Recyclarr.

Visit the documentation site for the Current Version instead.

Resource Providers

Resource providers give you control over where Recyclarr gets its configuration data. Instead of being locked into the official repositories, you can use custom forks, test branches, or even multiple sources for different purposes.

What Resource Providers Do

Resource providers determine where Recyclarr downloads essential data like:

  • Trash Guides: Custom formats, quality settings, and naming schemes from the TRaSH community
  • Config Templates: Pre-made YAML configurations for quick setup

By default, Recyclarr automatically uses the official repositories. You only need to configure resource providers if you want to use custom sources.

When You'd Use This

Common scenarios for configuring resource providers:

  • Custom modifications: Use your own fork with personalized custom formats when you need to completely replace official sources
  • Supplemental content: Add your own repository with additional custom formats alongside the automatic official sources
  • Offline setups: Use local mirrors when internet access is restricted

Quick Start

For most users, no configuration is needed. Recyclarr automatically includes official sources:

  • Official Trash Guides: https://github.com/TRaSH-Guides/Guides.git
  • Official Config Templates: https://github.com/recyclarr/config-templates.git
info

Official repositories are always present automatically. You only need to configure resource providers if you want to add supplemental sources or completely replace the official ones.

If you want to add supplemental sources or replace the automatic defaults:

# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/settings-schema.json

resource_providers:
trash_guides:
- name: official
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: master
config_templates:
- name: official
clone_url: https://github.com/recyclarr/config-templates.git
reference: master

Basic Configuration

Replacing Official Sources

Replace the official trash guides entirely with your own fork:

resource_providers:
trash_guides:
- name: official
clone_url: https://github.com/yourname/custom-guides.git
reference: main
warning

When you explicitly specify a repository with the name official, it completely replaces the automatic official repository. The automatic official sources will no longer be used.

Adding Supplemental Sources

Add your own repository with custom content alongside the automatic official sources:

resource_providers:
trash_guides:
- name: my-custom-formats
clone_url: https://github.com/yourname/extra-formats.git
config_templates:
- name: my-templates
clone_url: https://github.com/yourname/personal-templates.git

Recyclarr will automatically use the official Trash Guides and Config Templates repositories plus your additional custom sources. All content is merged together.

Repository Properties

Each repository supports these properties:

  • clone_url (Required)
    A URL compatible with git clone that is used to clone the repository.

  • name (Required)
    Unique identifier for this repository. Must contain only letters, numbers, hyphens, and underscores.

  • reference (Optional)
    Branch name, tag, or commit SHA1 to check out. Defaults to the repository's default branch.

Reference Examples

resource_providers:
trash_guides:
# Use a specific branch
- name: development
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: dev-branch

# Use a specific tag
- name: stable
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: v2.1.0

# Use a specific commit (full SHA1 or short form)
- name: tested
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: c611e9df00bf9261bddfc749219295fe189ae552

Advanced Configuration

Custom Repository Structure

When creating your own supplemental repository, organize it to match the structure used by the official repositories. Refer to the official Trash Guides and Config Templates repositories for the expected directory structure and file organization patterns.

resource_providers:
trash_guides:
- name: my-formats
clone_url: https://github.com/yourname/my-custom-formats.git
reference: main

Complete Example

Typical configuration adding supplemental content:

# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/settings-schema.json

# Global settings
enable_ssl_certificate_validation: true

# Resource providers (official sources are automatic)
resource_providers:
trash_guides:
- name: my-custom-formats
clone_url: https://github.com/yourname/additional-formats.git
reference: main

config_templates:
- name: my-templates
clone_url: https://github.com/yourname/personal-configs.git
reference: main

This configuration provides the automatic official Trash Guides and Config Templates plus your additional custom formats and personal templates. All sources are merged together.

Example: Complete Replacement

If you want to replace official sources entirely:

resource_providers:
trash_guides:
- name: official
clone_url: https://github.com/yourname/completely-custom-guides.git
reference: main
warning

Using the name official replaces the automatic official repository entirely. Only do this if your repository contains all the guides you need.

Migration from Legacy Repositories

info

The old repositories configuration is deprecated and will be removed in a future version.

Old Format (Deprecated)

repositories:
trash_guides:
clone_url: https://github.com/TRaSH-Guides/Guides.git
branch: master
sha1: c611e9df00bf9261bddfc749219295fe189ae552
config_templates:
clone_url: https://github.com/recyclarr/config-templates.git
branch: master

New Format

resource_providers:
trash_guides:
- name: official
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: c611e9df00bf9261bddfc749219295fe189ae552
config_templates:
- name: official
clone_url: https://github.com/recyclarr/config-templates.git
reference: master

Key Changes

  • Multiple repositories: Can now specify multiple sources per content type
  • Required naming: Each repository needs a unique name identifier
  • Unified reference: reference replaces both branch and sha1 properties
  • Array format: Each content type now accepts an array of repositories
  • Built-in defaults: Official repositories are included automatically

Troubleshooting

Common Issues

Repository names must be unique

# Wrong - duplicate names
resource_providers:
trash_guides:
- name: custom
clone_url: https://github.com/user1/guides.git
- name: custom # Error: duplicate name
clone_url: https://github.com/user2/guides.git

# Correct - unique names
resource_providers:
trash_guides:
- name: custom-user1
clone_url: https://github.com/user1/guides.git
- name: custom-user2
clone_url: https://github.com/user2/guides.git

Invalid characters in repository names

# Wrong - invalid characters
resource_providers:
trash_guides:
- name: my custom repo # Error: spaces not allowed
clone_url: https://github.com/user/guides.git

# Correct - valid characters only
resource_providers:
trash_guides:
- name: my-custom-repo
clone_url: https://github.com/user/guides.git

Git repository access issues If you get clone or authentication errors:

  1. Verify the repository URL is correct and accessible
  2. For private repositories, ensure your Git credentials are configured
  3. Check that the specified branch/reference exists in the repository
  4. Test the URL manually with git clone [url]

Expected Results

After configuring resource providers:

  1. Recyclarr will clone/update each repository to local storage
  2. Multiple repositories for the same content type will be merged together
  3. All configured sources will be available for custom formats, templates, etc.
  4. Repositories with the same name will override each other (custom overrides official)
warning

Never edit files in the locally cloned repositories managed by Recyclarr! Local changes will be destroyed when repositories are updated.