Skip to content

Lidarr

Description / nameInput element
Your domain name

Overview

Lidarr is a music collection manager designed for Usenet and BitTorrent users, automating the process of finding, downloading, and managing albums and tracks.


Deployment

sb install lidarr

Usage

Visit https://lidarr.iYOUR_DOMAIN_NAMEi.

Basics

Settings

Click on "Settings" in the sidebar. Click "Show Advanced" at the top of the Settings pane.

Make changes in the following sections:

Settings

These settings control management of media files.

  • "Rename Tracks": Yes

  • "Replace Illegal Characters": Yes

  • Set your preferred naming format; here are some examples.

Plex's Naming Preference

Example:

01 - Shine On You Crazy Diamond (Parts I-V).m4a

Standard Track Format:

{track:00} - {Track Title}

Artist Folder Format:

{Artist Name}

Album Folder Format:

{Artist Name} - {Album Title}

Reference: https://support.plex.tv/articles/categories/media-preparation/naming-and-organizing-music-media/

  • "Create empty artist folders": No

  • "Delete empty folders": No

  • "Skip Free Space Check": No

  • "Minimum Free Space": 100 (can be your preference so long as you use a reasonable value)

  • "Use Hardlinks instead of Copy": Yes

  • "Import Extra Files": Yes (can be your preference)

  • "Extra File Extensions": srt (can be your preference)

  • "Ignore Deleted Tracks": No (can be your preference)

  • "Propers and Repacks": Prefer and Upgrade (can be your preference)

  • "Watch Root Folders for file changes": 'Yes'

  • "Rescan Artist Folder after Refresh": Never

  • "Allow Fingerprinting": For new imports only

  • "Change File Date": Album Release Date (can be your preference)

  • "Recycle Bin": blank (Rclone deletes are sent to Gdrive trash folder, anyway)

  • "Recycling Bin Cleanup": '0'

  • Set Permissions: No
  • Click "Save".

These settings control indexers and related behavior.

  1. Click Add Indexer (+).

  2. Select "Newznab".

  3. Add the following:

    Name: NZBHydra2

    Enable RSS Sync: Your Preference

    Enable Automatic Search: Your Preference

    Enable Interactive Search: Your Preference

    URL: http://nzbhydra2:5076

    API Key: Your NZBHydra2 API Key

    Early Download Limit: Your Preference

    Additional Parameters: Leave Blank

  4. Your settings will look like this:

    Lidarr NZBHydra2

  5. Click "Save" to add NZBHydra2.

Note: The "Test" will keep failing until you add an indexer in NZBHydra2.

Note: Each Indexer you have defined in Jackett will need to be added separately.

  1. Click Add Indexer (+)

  2. Select "Torznab".

  3. Add the following:

    Name: Indexer Name

    Enable RSS Sync: Your Preference

    Enable Automatic Search: Your Preference

    Enable Interactive Search: Your Preference

    URL: Indexer's Torznab Feed

    API Key: Your Jackett API Key

    Early Download Limit: Your Preference

    Additional Parameters: Leave Blank

  4. Your settings will look like this:

    Lidarr Jackett

  5. Click "Save" to add the indexer.

These settings control downloading behavior and clients.

  • "Enable": Yes

  • "Remove": Yes (can be your preference)

  • "Redownload": Yes

  • "Remove": Yes

  1. Click Add (+)

  2. Add a new "NZBGet" download client.

  3. Add the following:

    Name: NZBGet

    Enable: Yes

    Host: nzbget

    Port: 6789

    Username: Your NZBGet Username

    Password: Your NZBGet Password

    Category: lidarr

    Use SSL: No

    Add Paused: No

  4. Your settings will look like this:

    Lidarr NZBGet Downloader

  5. Click "Save" to add NZBGet.

  1. Click Add (+)

  2. Add a new "rTorrent" download client.

  3. Add the following:

    Name: ruTorrent

    Enable: Yes

    Host: rutorrent

    Port: 80

    URL Path: RPC2

    Use SSL: No

    Username: Your ruTorrent Username

    Password: Your ruTorrent Password

    Category: lidarr

    Directory: Leave Blank

  4. Your settings will now look like this:

    Radarr ruTorrent Downloader

  5. Click "Save" to add ruTorrent.

  1. Click Add ('+')

  2. Add a new "qBittorrent" download client.

  3. Add the following:

    Name: qBittorrent

    Enable: 'Yes'

    Host: 'qBittorrent'

    Port: '8080'

    Username: Your qBittorrent Username

    Password: Your qBittorrent Password

    Category: 'lidarr'

  4. Your settings will now look like this:

    Lidarr qBittorent Downloader

  5. Click "Save" to add qBittorrent qb

These settings control connections to other applications or systems.

Torrent Cleanup Script is a custom script that will clean up torrents from ruTorrent that were auto-extracted, but still being seeded. So if the script detects that .rar files are in the folder that Radarr just imported from, it will delete the imported audio file(s), leaving just the .rar files for seeding.

  1. Click "Settings" -> "Connect".

  2. Add a new "Custom Script".

  3. Add the following:

    Name: Torrent Cleanup

    On Grab: No

    On Release Import: Yes

    On Upgrade: Yes

    On Rename:No

    Path: /scripts/torrents/TorrentCleanup.py

  4. The settings will look like this:

    Lidarr Torrent Cleanup Script CloudBox

  5. Click "Save" to add the Torrent Cleanup script.

  1. Click "Settings" -> "Connect".

  2. Add a new "Webhook".

  3. Add the following:

    Name: Autoscan

    On Grab: No

    On Release Import: Yes

    On Upgrade: Yes

    On Rename: Yes

    On Track Retag: No

    On Health Issue: No

    Tags: Leave Blank

    URL: http://autoscan:3030/triggers/lidarr

    Method:POST

    Username: AS SET IN AUTOSCAN CONFIG (defaults to Saltbox Username)

    Password: AS SET IN AUTOSCAN CONFIG (defaults to Saltbox Password)

  4. The settings will look like this:

    lidarr Autoscan

  5. Click "Save" to add Autoscan.

These settings control general aspects of Radarr.

  • "Bind Address: *

  • "Port Number": 8686

  • "URL Base": blank

  • "Enable SSL": No (SSL is handled by Traefik)

  • "Open browser on start": No

  • "Use Proxy": No
  • "Log Level": Debug
  • "Send Anonymous Usage Data": No (your preference)
  • "Branch": develop

  • "Automatic": Off

  • Click "Save".

Music Path

  1. When you are ready to add your first artist to Lidarr, click the "Path" drop-down and select "Add a different path".

  2. Click the blue "Browse" button, navigate to /mnt/unionfs/Media/Music, scroll to the bottom, and select "OK".

  3. Click the green "check" button to add the path.

  4. All artists added now will have that path set.

API Key

This is used during the setup of Organizr.

  • Go to "Settings" -> "General" -> "Security" -> "API Key".

Next

Are you setting Saltbox up for the first time?

Role Defaults

Use the Inventory to customize variables. (1)

  1. This role supports multiple instances via lidarr_instances.

    Example override

    lidarr_role_web_subdomain: "custom"
    

    Applies to all instances of lidarr

    lidarr2_web_subdomain: "custom2"
    

    Applies to the instance named lidarr2

    Avoid overriding variables ending in _default

    When overriding variables that end in _default (like lidarr_docker_envs_default), you replace the entire default configuration. Future updates that add new default values will not be applied to your setup, potentially breaking functionality.

    Instead, use the corresponding _custom variable (like lidarr_docker_envs_custom) to add your changes. Custom values are merged with defaults, ensuring you receive updates.

lidarr_instances
# Type: list
lidarr_instances: ["lidarr"]

Example Override

# Type: list
lidarr_instances: ["lidarr", "lidarr2"]
lidarr_role_external_authlidarr2_external_auth
# Type: bool (true/false)
lidarr_role_external_auth: true
# Type: bool (true/false)
lidarr2_external_auth: true
lidarr_role_web_subdomainlidarr2_web_subdomain
# Type: string
lidarr_role_web_subdomain: "{{ lidarr_name }}"
# Type: string
lidarr2_web_subdomain: "{{ lidarr_name }}"
lidarr_role_web_domainlidarr2_web_domain
# Type: string
lidarr_role_web_domain: "{{ user.domain }}"
# Type: string
lidarr2_web_domain: "{{ user.domain }}"
lidarr_role_web_portlidarr2_web_port
# Type: string
lidarr_role_web_port: "8686"
# Type: string
lidarr2_web_port: "8686"
lidarr_role_web_urllidarr2_web_url
# Type: string
lidarr_role_web_url: "{{ 'https://' + (lookup('role_var', '_web_subdomain', role='lidarr') + '.' + lookup('role_var', '_web_domain', role='lidarr')
                      if (lookup('role_var', '_web_subdomain', role='lidarr') | length > 0)
                      else lookup('role_var', '_web_domain', role='lidarr')) }}"
# Type: string
lidarr2_web_url: "{{ 'https://' + (lookup('role_var', '_web_subdomain', role='lidarr') + '.' + lookup('role_var', '_web_domain', role='lidarr')
                  if (lookup('role_var', '_web_subdomain', role='lidarr') | length > 0)
                  else lookup('role_var', '_web_domain', role='lidarr')) }}"
lidarr_role_dns_recordlidarr2_dns_record
# Type: string
lidarr_role_dns_record: "{{ lookup('role_var', '_web_subdomain', role='lidarr') }}"
# Type: string
lidarr2_dns_record: "{{ lookup('role_var', '_web_subdomain', role='lidarr') }}"
lidarr_role_dns_zonelidarr2_dns_zone
# Type: string
lidarr_role_dns_zone: "{{ lookup('role_var', '_web_domain', role='lidarr') }}"
# Type: string
lidarr2_dns_zone: "{{ lookup('role_var', '_web_domain', role='lidarr') }}"
lidarr_role_dns_proxylidarr2_dns_proxy
# Type: bool (true/false)
lidarr_role_dns_proxy: "{{ dns_proxied }}"
# Type: bool (true/false)
lidarr2_dns_proxy: "{{ dns_proxied }}"
lidarr_role_traefik_sso_middlewarelidarr2_traefik_sso_middleware
# Type: string
lidarr_role_traefik_sso_middleware: "{{ traefik_default_sso_middleware }}"
# Type: string
lidarr2_traefik_sso_middleware: "{{ traefik_default_sso_middleware }}"
lidarr_role_traefik_middleware_defaultlidarr2_traefik_middleware_default
# Type: string
lidarr_role_traefik_middleware_default: "{{ traefik_default_middleware
                                            + (',themepark-' + lidarr_name
                                              if (lookup('role_var', '_themepark_enabled', role='lidarr') and global_themepark_plugin_enabled)
                                              else '') }}"
# Type: string
lidarr2_traefik_middleware_default: "{{ traefik_default_middleware
                                        + (',themepark-' + lidarr_name
                                          if (lookup('role_var', '_themepark_enabled', role='lidarr') and global_themepark_plugin_enabled)
                                          else '') }}"
lidarr_role_traefik_middleware_customlidarr2_traefik_middleware_custom
# Type: string
lidarr_role_traefik_middleware_custom: ""
# Type: string
lidarr2_traefik_middleware_custom: ""
lidarr_role_traefik_certresolverlidarr2_traefik_certresolver
# Type: string
lidarr_role_traefik_certresolver: "{{ traefik_default_certresolver }}"
# Type: string
lidarr2_traefik_certresolver: "{{ traefik_default_certresolver }}"
lidarr_role_traefik_enabledlidarr2_traefik_enabled
# Type: bool (true/false)
lidarr_role_traefik_enabled: true
# Type: bool (true/false)
lidarr2_traefik_enabled: true
lidarr_role_traefik_api_enabledlidarr2_traefik_api_enabled
# Type: bool (true/false)
lidarr_role_traefik_api_enabled: true
# Type: bool (true/false)
lidarr2_traefik_api_enabled: true
lidarr_role_traefik_api_endpointlidarr2_traefik_api_endpoint
# Type: string
lidarr_role_traefik_api_endpoint: "PathPrefix(`/api`) || PathPrefix(`/feed`) || PathPrefix(`/ping`)"
# Type: string
lidarr2_traefik_api_endpoint: "PathPrefix(`/api`) || PathPrefix(`/feed`) || PathPrefix(`/ping`)"
lidarr_role_themepark_enabledlidarr2_themepark_enabled
# Options can be found at https://github.com/themepark-dev/theme.park
# Type: bool (true/false)
lidarr_role_themepark_enabled: false
# Options can be found at https://github.com/themepark-dev/theme.park
# Type: bool (true/false)
lidarr2_themepark_enabled: false
lidarr_role_themepark_applidarr2_themepark_app
# Type: string
lidarr_role_themepark_app: "lidarr"
# Type: string
lidarr2_themepark_app: "lidarr"
lidarr_role_themepark_themelidarr2_themepark_theme
# Type: string
lidarr_role_themepark_theme: "{{ global_themepark_theme }}"
# Type: string
lidarr2_themepark_theme: "{{ global_themepark_theme }}"
lidarr_role_themepark_domainlidarr2_themepark_domain
# Type: string
lidarr_role_themepark_domain: "{{ global_themepark_domain }}"
# Type: string
lidarr2_themepark_domain: "{{ global_themepark_domain }}"
lidarr_role_themepark_addonslidarr2_themepark_addons
# Type: list
lidarr_role_themepark_addons: []
# Type: list
lidarr2_themepark_addons: []

Container

lidarr_role_docker_containerlidarr2_docker_container
# Type: string
lidarr_role_docker_container: "{{ lidarr_name }}"
# Type: string
lidarr2_docker_container: "{{ lidarr_name }}"

Image

lidarr_role_docker_image_pulllidarr2_docker_image_pull
# Type: bool (true/false)
lidarr_role_docker_image_pull: true
# Type: bool (true/false)
lidarr2_docker_image_pull: true
lidarr_role_docker_image_repolidarr2_docker_image_repo
# Type: string
lidarr_role_docker_image_repo: "ghcr.io/hotio/lidarr"
# Type: string
lidarr2_docker_image_repo: "ghcr.io/hotio/lidarr"
lidarr_role_docker_image_taglidarr2_docker_image_tag
# Type: string
lidarr_role_docker_image_tag: "release"
# Type: string
lidarr2_docker_image_tag: "release"
lidarr_role_docker_imagelidarr2_docker_image
# Type: string
lidarr_role_docker_image: "{{ lookup('role_var', '_docker_image_repo', role='lidarr') }}:{{ lookup('role_var', '_docker_image_tag', role='lidarr') }}"
# Type: string
lidarr2_docker_image: "{{ lookup('role_var', '_docker_image_repo', role='lidarr') }}:{{ lookup('role_var', '_docker_image_tag', role='lidarr') }}"

Envs

lidarr_role_docker_envs_defaultlidarr2_docker_envs_default
# Type: dict
lidarr_role_docker_envs_default:
  PUID: "{{ uid }}"
  PGID: "{{ gid }}"
  UMASK: "002"
  TZ: "{{ tz }}"
# Type: dict
lidarr2_docker_envs_default:
  PUID: "{{ uid }}"
  PGID: "{{ gid }}"
  UMASK: "002"
  TZ: "{{ tz }}"
lidarr_role_docker_envs_customlidarr2_docker_envs_custom
# Type: dict
lidarr_role_docker_envs_custom: {}
# Type: dict
lidarr2_docker_envs_custom: {}

Volumes

lidarr_role_docker_volumes_defaultlidarr2_docker_volumes_default
# Type: list
lidarr_role_docker_volumes_default:
  - "{{ lidarr_role_paths_location }}:/config"
  - "{{ server_appdata_path }}/scripts:/scripts"
# Type: list
lidarr2_docker_volumes_default:
  - "{{ lidarr_role_paths_location }}:/config"
  - "{{ server_appdata_path }}/scripts:/scripts"
lidarr_role_docker_volumes_legacylidarr2_docker_volumes_legacy
# Type: list
lidarr_role_docker_volumes_legacy:
  - "/mnt/unionfs/Media/Music:/music"
# Type: list
lidarr2_docker_volumes_legacy:
  - "/mnt/unionfs/Media/Music:/music"
lidarr_role_docker_volumes_customlidarr2_docker_volumes_custom
# Type: list
lidarr_role_docker_volumes_custom: []
# Type: list
lidarr2_docker_volumes_custom: []

Labels

lidarr_role_docker_labels_defaultlidarr2_docker_labels_default
# Type: dict
lidarr_role_docker_labels_default: {}
# Type: dict
lidarr2_docker_labels_default: {}
lidarr_role_docker_labels_customlidarr2_docker_labels_custom
# Type: dict
lidarr_role_docker_labels_custom: {}
# Type: dict
lidarr2_docker_labels_custom: {}

Hostname

lidarr_role_docker_hostnamelidarr2_docker_hostname
# Type: string
lidarr_role_docker_hostname: "{{ lidarr_name }}"
# Type: string
lidarr2_docker_hostname: "{{ lidarr_name }}"

Networks

lidarr_role_docker_networks_aliaslidarr2_docker_networks_alias
# Type: string
lidarr_role_docker_networks_alias: "{{ lidarr_name }}"
# Type: string
lidarr2_docker_networks_alias: "{{ lidarr_name }}"
lidarr_role_docker_networks_defaultlidarr2_docker_networks_default
# Type: list
lidarr_role_docker_networks_default: []
# Type: list
lidarr2_docker_networks_default: []
lidarr_role_docker_networks_customlidarr2_docker_networks_custom
# Type: list
lidarr_role_docker_networks_custom: []
# Type: list
lidarr2_docker_networks_custom: []

Restart Policy

lidarr_role_docker_restart_policylidarr2_docker_restart_policy
# Type: string
lidarr_role_docker_restart_policy: unless-stopped
# Type: string
lidarr2_docker_restart_policy: unless-stopped

State

lidarr_role_docker_statelidarr2_docker_state
# Type: string
lidarr_role_docker_state: started
# Type: string
lidarr2_docker_state: started

The following advanced options are available via create_docker_container but are not defined in the role. See: docker_container module

Resource Limits

lidarr_role_docker_blkio_weightlidarr2_docker_blkio_weight
# Type: int
lidarr_role_docker_blkio_weight:
# Type: int
lidarr2_docker_blkio_weight:
lidarr_role_docker_cpu_periodlidarr2_docker_cpu_period
# Type: int
lidarr_role_docker_cpu_period:
# Type: int
lidarr2_docker_cpu_period:
lidarr_role_docker_cpu_quotalidarr2_docker_cpu_quota
# Type: int
lidarr_role_docker_cpu_quota:
# Type: int
lidarr2_docker_cpu_quota:
lidarr_role_docker_cpu_shareslidarr2_docker_cpu_shares
# Type: int
lidarr_role_docker_cpu_shares:
# Type: int
lidarr2_docker_cpu_shares:
lidarr_role_docker_cpuslidarr2_docker_cpus
# Type: string
lidarr_role_docker_cpus:
# Type: string
lidarr2_docker_cpus:
lidarr_role_docker_cpuset_cpuslidarr2_docker_cpuset_cpus
# Type: string
lidarr_role_docker_cpuset_cpus:
# Type: string
lidarr2_docker_cpuset_cpus:
lidarr_role_docker_cpuset_memslidarr2_docker_cpuset_mems
# Type: string
lidarr_role_docker_cpuset_mems:
# Type: string
lidarr2_docker_cpuset_mems:
lidarr_role_docker_kernel_memorylidarr2_docker_kernel_memory
# Type: string
lidarr_role_docker_kernel_memory:
# Type: string
lidarr2_docker_kernel_memory:
lidarr_role_docker_memorylidarr2_docker_memory
# Type: string
lidarr_role_docker_memory:
# Type: string
lidarr2_docker_memory:
lidarr_role_docker_memory_reservationlidarr2_docker_memory_reservation
# Type: string
lidarr_role_docker_memory_reservation:
# Type: string
lidarr2_docker_memory_reservation:
lidarr_role_docker_memory_swaplidarr2_docker_memory_swap
# Type: string
lidarr_role_docker_memory_swap:
# Type: string
lidarr2_docker_memory_swap:
lidarr_role_docker_memory_swappinesslidarr2_docker_memory_swappiness
# Type: int
lidarr_role_docker_memory_swappiness:
# Type: int
lidarr2_docker_memory_swappiness:
lidarr_role_docker_shm_sizelidarr2_docker_shm_size
# Type: string
lidarr_role_docker_shm_size:
# Type: string
lidarr2_docker_shm_size:

Security & Devices

lidarr_role_docker_cap_droplidarr2_docker_cap_drop
# Type: list
lidarr_role_docker_cap_drop:
# Type: list
lidarr2_docker_cap_drop:
lidarr_role_docker_cgroupns_modelidarr2_docker_cgroupns_mode
# Type: string
lidarr_role_docker_cgroupns_mode:
# Type: string
lidarr2_docker_cgroupns_mode:
lidarr_role_docker_device_cgroup_ruleslidarr2_docker_device_cgroup_rules
# Type: list
lidarr_role_docker_device_cgroup_rules:
# Type: list
lidarr2_docker_device_cgroup_rules:
lidarr_role_docker_device_read_bpslidarr2_docker_device_read_bps
# Type: list
lidarr_role_docker_device_read_bps:
# Type: list
lidarr2_docker_device_read_bps:
lidarr_role_docker_device_read_iopslidarr2_docker_device_read_iops
# Type: list
lidarr_role_docker_device_read_iops:
# Type: list
lidarr2_docker_device_read_iops:
lidarr_role_docker_device_requestslidarr2_docker_device_requests
# Type: list
lidarr_role_docker_device_requests:
# Type: list
lidarr2_docker_device_requests:
lidarr_role_docker_device_write_bpslidarr2_docker_device_write_bps
# Type: list
lidarr_role_docker_device_write_bps:
# Type: list
lidarr2_docker_device_write_bps:
lidarr_role_docker_device_write_iopslidarr2_docker_device_write_iops
# Type: list
lidarr_role_docker_device_write_iops:
# Type: list
lidarr2_docker_device_write_iops:
lidarr_role_docker_deviceslidarr2_docker_devices
# Type: list
lidarr_role_docker_devices:
# Type: list
lidarr2_docker_devices:
lidarr_role_docker_devices_defaultlidarr2_docker_devices_default
# Type: string
lidarr_role_docker_devices_default:
# Type: string
lidarr2_docker_devices_default:
lidarr_role_docker_groupslidarr2_docker_groups
# Type: list
lidarr_role_docker_groups:
# Type: list
lidarr2_docker_groups:
lidarr_role_docker_privilegedlidarr2_docker_privileged
# Type: bool (true/false)
lidarr_role_docker_privileged:
# Type: bool (true/false)
lidarr2_docker_privileged:
lidarr_role_docker_security_optslidarr2_docker_security_opts
# Type: list
lidarr_role_docker_security_opts:
# Type: list
lidarr2_docker_security_opts:
lidarr_role_docker_userlidarr2_docker_user
# Type: string
lidarr_role_docker_user:
# Type: string
lidarr2_docker_user:
lidarr_role_docker_userns_modelidarr2_docker_userns_mode
# Type: string
lidarr_role_docker_userns_mode:
# Type: string
lidarr2_docker_userns_mode:

Networking

lidarr_role_docker_dns_optslidarr2_docker_dns_opts
# Type: list
lidarr_role_docker_dns_opts:
# Type: list
lidarr2_docker_dns_opts:
lidarr_role_docker_dns_search_domainslidarr2_docker_dns_search_domains
# Type: list
lidarr_role_docker_dns_search_domains:
# Type: list
lidarr2_docker_dns_search_domains:
lidarr_role_docker_dns_serverslidarr2_docker_dns_servers
# Type: list
lidarr_role_docker_dns_servers:
# Type: list
lidarr2_docker_dns_servers:
lidarr_role_docker_domainnamelidarr2_docker_domainname
# Type: string
lidarr_role_docker_domainname:
# Type: string
lidarr2_docker_domainname:
lidarr_role_docker_exposed_portslidarr2_docker_exposed_ports
# Type: list
lidarr_role_docker_exposed_ports:
# Type: list
lidarr2_docker_exposed_ports:
lidarr_role_docker_hostslidarr2_docker_hosts
# Type: dict
lidarr_role_docker_hosts:
# Type: dict
lidarr2_docker_hosts:
lidarr_role_docker_hosts_use_commonlidarr2_docker_hosts_use_common
# Type: bool (true/false)
lidarr_role_docker_hosts_use_common:
# Type: bool (true/false)
lidarr2_docker_hosts_use_common:
lidarr_role_docker_ipc_modelidarr2_docker_ipc_mode
# Type: string
lidarr_role_docker_ipc_mode:
# Type: string
lidarr2_docker_ipc_mode:
lidarr_role_docker_linkslidarr2_docker_links
# Type: list
lidarr_role_docker_links:
# Type: list
lidarr2_docker_links:
lidarr_role_docker_network_modelidarr2_docker_network_mode
# Type: string
lidarr_role_docker_network_mode:
# Type: string
lidarr2_docker_network_mode:
lidarr_role_docker_pid_modelidarr2_docker_pid_mode
# Type: string
lidarr_role_docker_pid_mode:
# Type: string
lidarr2_docker_pid_mode:
lidarr_role_docker_portslidarr2_docker_ports
# Type: list
lidarr_role_docker_ports:
# Type: list
lidarr2_docker_ports:
lidarr_role_docker_utslidarr2_docker_uts
# Type: string
lidarr_role_docker_uts:
# Type: string
lidarr2_docker_uts:

Storage

lidarr_role_docker_keep_volumeslidarr2_docker_keep_volumes
# Type: bool (true/false)
lidarr_role_docker_keep_volumes:
# Type: bool (true/false)
lidarr2_docker_keep_volumes:
lidarr_role_docker_mountslidarr2_docker_mounts
# Type: list
lidarr_role_docker_mounts:
# Type: list
lidarr2_docker_mounts:
lidarr_role_docker_storage_optslidarr2_docker_storage_opts
# Type: dict
lidarr_role_docker_storage_opts:
# Type: dict
lidarr2_docker_storage_opts:
lidarr_role_docker_tmpfslidarr2_docker_tmpfs
# Type: list
lidarr_role_docker_tmpfs:
# Type: list
lidarr2_docker_tmpfs:
lidarr_role_docker_volume_driverlidarr2_docker_volume_driver
# Type: string
lidarr_role_docker_volume_driver:
# Type: string
lidarr2_docker_volume_driver:
lidarr_role_docker_volumes_fromlidarr2_docker_volumes_from
# Type: list
lidarr_role_docker_volumes_from:
# Type: list
lidarr2_docker_volumes_from:
lidarr_role_docker_volumes_globallidarr2_docker_volumes_global
# Type: bool (true/false)
lidarr_role_docker_volumes_global:
# Type: bool (true/false)
lidarr2_docker_volumes_global:
lidarr_role_docker_working_dirlidarr2_docker_working_dir
# Type: string
lidarr_role_docker_working_dir:
# Type: string
lidarr2_docker_working_dir:

Monitoring & Lifecycle

lidarr_role_docker_auto_removelidarr2_docker_auto_remove
# Type: bool (true/false)
lidarr_role_docker_auto_remove:
# Type: bool (true/false)
lidarr2_docker_auto_remove:
lidarr_role_docker_cleanuplidarr2_docker_cleanup
# Type: bool (true/false)
lidarr_role_docker_cleanup:
# Type: bool (true/false)
lidarr2_docker_cleanup:
lidarr_role_docker_force_killlidarr2_docker_force_kill
# Type: string
lidarr_role_docker_force_kill:
# Type: string
lidarr2_docker_force_kill:
lidarr_role_docker_healthchecklidarr2_docker_healthcheck
# Type: dict
lidarr_role_docker_healthcheck:
# Type: dict
lidarr2_docker_healthcheck:
lidarr_role_docker_healthy_wait_timeoutlidarr2_docker_healthy_wait_timeout
# Type: int
lidarr_role_docker_healthy_wait_timeout:
# Type: int
lidarr2_docker_healthy_wait_timeout:
lidarr_role_docker_initlidarr2_docker_init
# Type: bool (true/false)
lidarr_role_docker_init:
# Type: bool (true/false)
lidarr2_docker_init:
lidarr_role_docker_kill_signallidarr2_docker_kill_signal
# Type: string
lidarr_role_docker_kill_signal:
# Type: string
lidarr2_docker_kill_signal:
lidarr_role_docker_log_driverlidarr2_docker_log_driver
# Type: string
lidarr_role_docker_log_driver:
# Type: string
lidarr2_docker_log_driver:
lidarr_role_docker_log_optionslidarr2_docker_log_options
# Type: dict
lidarr_role_docker_log_options:
# Type: dict
lidarr2_docker_log_options:
lidarr_role_docker_oom_killerlidarr2_docker_oom_killer
# Type: bool (true/false)
lidarr_role_docker_oom_killer:
# Type: bool (true/false)
lidarr2_docker_oom_killer:
lidarr_role_docker_oom_score_adjlidarr2_docker_oom_score_adj
# Type: int
lidarr_role_docker_oom_score_adj:
# Type: int
lidarr2_docker_oom_score_adj:
lidarr_role_docker_output_logslidarr2_docker_output_logs
# Type: bool (true/false)
lidarr_role_docker_output_logs:
# Type: bool (true/false)
lidarr2_docker_output_logs:
lidarr_role_docker_pausedlidarr2_docker_paused
# Type: bool (true/false)
lidarr_role_docker_paused:
# Type: bool (true/false)
lidarr2_docker_paused:
lidarr_role_docker_recreatelidarr2_docker_recreate
# Type: bool (true/false)
lidarr_role_docker_recreate:
# Type: bool (true/false)
lidarr2_docker_recreate:
lidarr_role_docker_restart_retrieslidarr2_docker_restart_retries
# Type: int
lidarr_role_docker_restart_retries:
# Type: int
lidarr2_docker_restart_retries:
lidarr_role_docker_stop_timeoutlidarr2_docker_stop_timeout
# Type: int
lidarr_role_docker_stop_timeout:
# Type: int
lidarr2_docker_stop_timeout:

Other Options

lidarr_role_docker_capabilitieslidarr2_docker_capabilities
# Type: list
lidarr_role_docker_capabilities:
# Type: list
lidarr2_docker_capabilities:
lidarr_role_docker_cgroup_parentlidarr2_docker_cgroup_parent
# Type: string
lidarr_role_docker_cgroup_parent:
# Type: string
lidarr2_docker_cgroup_parent:
lidarr_role_docker_commandslidarr2_docker_commands
# Type: list
lidarr_role_docker_commands:
# Type: list
lidarr2_docker_commands:
lidarr_role_docker_create_timeoutlidarr2_docker_create_timeout
# Type: int
lidarr_role_docker_create_timeout:
# Type: int
lidarr2_docker_create_timeout:
lidarr_role_docker_entrypointlidarr2_docker_entrypoint
# Type: string
lidarr_role_docker_entrypoint:
# Type: string
lidarr2_docker_entrypoint:
lidarr_role_docker_env_filelidarr2_docker_env_file
# Type: string
lidarr_role_docker_env_file:
# Type: string
lidarr2_docker_env_file:
lidarr_role_docker_labels_use_commonlidarr2_docker_labels_use_common
# Type: bool (true/false)
lidarr_role_docker_labels_use_common:
# Type: bool (true/false)
lidarr2_docker_labels_use_common:
lidarr_role_docker_read_onlylidarr2_docker_read_only
# Type: bool (true/false)
lidarr_role_docker_read_only:
# Type: bool (true/false)
lidarr2_docker_read_only:
lidarr_role_docker_runtimelidarr2_docker_runtime
# Type: string
lidarr_role_docker_runtime:
# Type: string
lidarr2_docker_runtime:
lidarr_role_docker_sysctlslidarr2_docker_sysctls
# Type: list
lidarr_role_docker_sysctls:
# Type: list
lidarr2_docker_sysctls:
lidarr_role_docker_ulimitslidarr2_docker_ulimits
# Type: list
lidarr_role_docker_ulimits:
# Type: list
lidarr2_docker_ulimits:
lidarr_role_autoheal_enabledlidarr2_autoheal_enabled
# Enable or disable Autoheal monitoring for containers created when deploying
# Type: bool (true/false)
lidarr_role_autoheal_enabled: true
# Enable or disable Autoheal monitoring for containers created when deploying
# Type: bool (true/false)
lidarr2_autoheal_enabled: true
lidarr_role_depends_onlidarr2_depends_on
# List of container dependencies that must be running before containers start
# Type: string
lidarr_role_depends_on: ""
# List of container dependencies that must be running before containers start
# Type: string
lidarr2_depends_on: ""
lidarr_role_depends_on_delaylidarr2_depends_on_delay
# Delay in seconds before starting containers after dependencies are ready
# Type: string (quoted number)
lidarr_role_depends_on_delay: "0"
# Delay in seconds before starting containers after dependencies are ready
# Type: string (quoted number)
lidarr2_depends_on_delay: "0"
lidarr_role_depends_on_healthcheckslidarr2_depends_on_healthchecks
# Enable healthcheck waiting for container dependencies
# Type: string ("true"/"false")
lidarr_role_depends_on_healthchecks:
# Enable healthcheck waiting for container dependencies
# Type: string ("true"/"false")
lidarr2_depends_on_healthchecks:
lidarr_role_diun_enabledlidarr2_diun_enabled
# Enable or disable Diun update notifications for containers created when deploying
# Type: bool (true/false)
lidarr_role_diun_enabled: true
# Enable or disable Diun update notifications for containers created when deploying
# Type: bool (true/false)
lidarr2_diun_enabled: true
lidarr_role_dns_enabledlidarr2_dns_enabled
# Enable or disable automatic DNS record creation for containers
# Type: bool (true/false)
lidarr_role_dns_enabled: true
# Enable or disable automatic DNS record creation for containers
# Type: bool (true/false)
lidarr2_dns_enabled: true
lidarr_role_docker_controllerlidarr2_docker_controller
# Enable or disable Saltbox Docker Controller management for containers
# Type: bool (true/false)
lidarr_role_docker_controller: true
# Enable or disable Saltbox Docker Controller management for containers
# Type: bool (true/false)
lidarr2_docker_controller: true
lidarr_role_docker_image_repolidarr2_docker_image_repo
# Type: string
lidarr_role_docker_image_repo:
# Type: string
lidarr2_docker_image_repo:
lidarr_role_docker_image_taglidarr2_docker_image_tag
# Type: string
lidarr_role_docker_image_tag:
# Type: string
lidarr2_docker_image_tag:
lidarr_role_docker_volumes_downloadlidarr2_docker_volumes_download
# Type: bool (true/false)
lidarr_role_docker_volumes_download:
# Type: bool (true/false)
lidarr2_docker_volumes_download:
lidarr_role_themepark_addonslidarr2_themepark_addons
# Type: string
lidarr_role_themepark_addons:
# Type: string
lidarr2_themepark_addons:
lidarr_role_themepark_applidarr2_themepark_app
# Type: string
lidarr_role_themepark_app:
# Type: string
lidarr2_themepark_app:
lidarr_role_themepark_enabledlidarr2_themepark_enabled
# Type: bool (true/false)
lidarr_role_themepark_enabled:
# Type: bool (true/false)
lidarr2_themepark_enabled:
lidarr_role_themepark_themelidarr2_themepark_theme
# Type: string
lidarr_role_themepark_theme:
# Type: string
lidarr2_themepark_theme:
lidarr_role_traefik_api_endpointlidarr2_traefik_api_endpoint
# Type: dict/omit
lidarr_role_traefik_api_endpoint:
# Type: dict/omit
lidarr2_traefik_api_endpoint:
lidarr_role_traefik_api_middlewarelidarr2_traefik_api_middleware
# Type: string
lidarr_role_traefik_api_middleware:
# Type: string
lidarr2_traefik_api_middleware:
lidarr_role_traefik_api_middleware_httplidarr2_traefik_api_middleware_http
# Type: string
lidarr_role_traefik_api_middleware_http:
# Type: string
lidarr2_traefik_api_middleware_http:
lidarr_role_traefik_autodetect_enabledlidarr2_traefik_autodetect_enabled
# Enable Traefik autodetect middleware for containers
# Type: bool (true/false)
lidarr_role_traefik_autodetect_enabled: false
# Enable Traefik autodetect middleware for containers
# Type: bool (true/false)
lidarr2_traefik_autodetect_enabled: false
lidarr_role_traefik_certresolverlidarr2_traefik_certresolver
# Type: string
lidarr_role_traefik_certresolver:
# Type: string
lidarr2_traefik_certresolver:
lidarr_role_traefik_crowdsec_enabledlidarr2_traefik_crowdsec_enabled
# Enable CrowdSec middleware for containers
# Type: bool (true/false)
lidarr_role_traefik_crowdsec_enabled: false
# Enable CrowdSec middleware for containers
# Type: bool (true/false)
lidarr2_traefik_crowdsec_enabled: false
lidarr_role_traefik_error_pages_enabledlidarr2_traefik_error_pages_enabled
# Enable custom error pages middleware for containers
# Type: bool (true/false)
lidarr_role_traefik_error_pages_enabled: false
# Enable custom error pages middleware for containers
# Type: bool (true/false)
lidarr2_traefik_error_pages_enabled: false
lidarr_role_traefik_gzip_enabledlidarr2_traefik_gzip_enabled
# Enable gzip compression middleware for containers
# Type: bool (true/false)
lidarr_role_traefik_gzip_enabled: false
# Enable gzip compression middleware for containers
# Type: bool (true/false)
lidarr2_traefik_gzip_enabled: false
lidarr_role_traefik_middleware_httplidarr2_traefik_middleware_http
# Type: string
lidarr_role_traefik_middleware_http:
# Type: string
lidarr2_traefik_middleware_http:
lidarr_role_traefik_middleware_http_api_insecurelidarr2_traefik_middleware_http_api_insecure
# Type: bool (true/false)
lidarr_role_traefik_middleware_http_api_insecure:
# Type: bool (true/false)
lidarr2_traefik_middleware_http_api_insecure:
lidarr_role_traefik_middleware_http_insecurelidarr2_traefik_middleware_http_insecure
# Type: bool (true/false)
lidarr_role_traefik_middleware_http_insecure:
# Type: bool (true/false)
lidarr2_traefik_middleware_http_insecure:
lidarr_role_traefik_prioritylidarr2_traefik_priority
# Type: string
lidarr_role_traefik_priority:
# Type: string
lidarr2_traefik_priority:
lidarr_role_traefik_robot_enabledlidarr2_traefik_robot_enabled
# Enable robots.txt middleware for containers
# Type: bool (true/false)
lidarr_role_traefik_robot_enabled: true
# Enable robots.txt middleware for containers
# Type: bool (true/false)
lidarr2_traefik_robot_enabled: true
lidarr_role_traefik_tailscale_enabledlidarr2_traefik_tailscale_enabled
# Enable Tailscale-specific Traefik configuration for containers
# Type: bool (true/false)
lidarr_role_traefik_tailscale_enabled: false
# Enable Tailscale-specific Traefik configuration for containers
# Type: bool (true/false)
lidarr2_traefik_tailscale_enabled: false
lidarr_role_traefik_wildcard_enabledlidarr2_traefik_wildcard_enabled
# Enable wildcard certificate for containers
# Type: bool (true/false)
lidarr_role_traefik_wildcard_enabled: true
# Enable wildcard certificate for containers
# Type: bool (true/false)
lidarr2_traefik_wildcard_enabled: true
lidarr_role_web_domainlidarr2_web_domain
# Type: string
lidarr_role_web_domain:
# Type: string
lidarr2_web_domain:
lidarr_role_web_fqdn_overridelidarr2_web_fqdn_override
# Override the Traefik fully qualified domain name (FQDN) for containers
# Type: list
lidarr_role_web_fqdn_override:
# Override the Traefik fully qualified domain name (FQDN) for containers
# Type: list
lidarr2_web_fqdn_override:

Example Override

lidarr_role_web_fqdn_override:
  - "{{ traefik_host }}"
  - "lidarr2.{{ user.domain }}"
  - "lidarr.otherdomain.tld"

Note: Include {{ traefik_host }} to preserve the default FQDN alongside your custom entries

Example Override

lidarr2_web_fqdn_override:
  - "{{ traefik_host }}"
  - "lidarr2.{{ user.domain }}"
  - "lidarr.otherdomain.tld"

Note: Include {{ traefik_host }} to preserve the default FQDN alongside your custom entries

lidarr_role_web_host_overridelidarr2_web_host_override
# Override the Traefik web host configuration for containers
# Type: string
lidarr_role_web_host_override:
# Override the Traefik web host configuration for containers
# Type: string
lidarr2_web_host_override:

Example Override

lidarr_role_web_host_override: "Host(`{{ traefik_host }}`) || Host(`{{ 'lidarr2.' + user.domain }}`)"

Note: Use {{ traefik_host }} to include the default host configuration in your custom rule

Example Override

lidarr2_web_host_override: "Host(`{{ traefik_host }}`) || Host(`{{ 'lidarr2.' + user.domain }}`)"

Note: Use {{ traefik_host }} to include the default host configuration in your custom rule

lidarr_role_web_http_portlidarr2_web_http_port
# Type: string (quoted number)
lidarr_role_web_http_port:
# Type: string (quoted number)
lidarr2_web_http_port:
lidarr_role_web_http_schemelidarr2_web_http_scheme
# Type: string ("http"/"https")
lidarr_role_web_http_scheme:
# Type: string ("http"/"https")
lidarr2_web_http_scheme:
lidarr_role_web_http_serverstransportlidarr2_web_http_serverstransport
# Type: dict/omit
lidarr_role_web_http_serverstransport:
# Type: dict/omit
lidarr2_web_http_serverstransport:
lidarr_role_web_schemelidarr2_web_scheme
# URL scheme to use for web access to containers
# Type: string ("http"/"https")
lidarr_role_web_scheme:
# URL scheme to use for web access to containers
# Type: string ("http"/"https")
lidarr2_web_scheme:
lidarr_role_web_serverstransportlidarr2_web_serverstransport
# Type: dict/omit
lidarr_role_web_serverstransport:
# Type: dict/omit
lidarr2_web_serverstransport:
lidarr_role_web_subdomainlidarr2_web_subdomain
# Type: string
lidarr_role_web_subdomain:
# Type: string
lidarr2_web_subdomain: