*Arr Service
Defined in /modules/services/arr.nix.
This NixOS module sets up multiple Servarr services.
Features
Compared to the stock module from nixpkgs, this one sets up, in a fully declarative manner LDAP and SSO integration as well as the API key.
Usage
Initial Configuration
The following snippet assumes a few blocks have been setup already:
the secrets block with SOPS,
the
shb.sslblock,the
shb.lldapblock.the
shb.autheliablock.
{
shb.certs.certs.letsencrypt.${domain}.extraDomains = [
"moviesdl.${domain}"
"seriesdl.${domain}"
"subtitlesdl.${domain}"
"booksdl.${domain}"
"musicdl.${domain}"
"indexer.${domain}"
];
shb.arr = {
radarr = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt.${domain};
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
sonarr = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt."${domain}";
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
bazarr = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt."${domain}";
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
readarr = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt."${domain}";
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
lidarr = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt."${domain}";
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
jackett = {
inherit domain;
enable = true;
ssl = config.shb.certs.certs.letsencrypt."${domain}";
authEndpoint = "https://${config.shb.authelia.subdomain}.${config.shb.authelia.domain}";
};
};
}
The user and admin LDAP groups are created automatically.
API Keys
The API keys for each arr service can be created declaratively.
First, generate one secret for each service with nix run nixpkgs#openssl -- rand -hex 64
and store it in your secrets file (for example the SOPS file).
Then, add the API key to each service:
{
shb.arr = {
radarr = {
settings = {
ApiKey.source = config.shb.sops.secret."radarr/apikey".result.path;
};
};
sonarr = {
settings = {
ApiKey.source = config.shb.sops.secret."sonarr/apikey".result.path;
};
};
bazarr = {
settings = {
ApiKey.source = config.shb.sops.secret."bazarr/apikey".result.path;
};
};
readarr = {
settings = {
ApiKey.source = config.shb.sops.secret."readarr/apikey".result.path;
};
};
lidarr = {
settings = {
ApiKey.source = config.shb.sops.secret."lidarr/apikey".result.path;
};
};
jackett = {
settings = {
ApiKey.source = config.shb.sops.secret."jackett/apikey".result.path;
};
};
};
shb.sops.secret."radarr/apikey".request = {
mode = "0440";
owner = "radarr";
group = "radarr";
restartUnits = [ "radarr.service" ];
};
shb.sops.secret."sonarr/apikey".request = {
mode = "0440";
owner = "sonarr";
group = "sonarr";
restartUnits = [ "sonarr.service" ];
};
shb.sops.secret."bazarr/apikey".request = {
mode = "0440";
owner = "bazarr";
group = "bazarr";
restartUnits = [ "bazarr.service" ];
};
shb.sops.secret."readarr/apikey".request = {
mode = "0440";
owner = "readarr";
group = "readarr";
restartUnits = [ "readarr.service" ];
};
shb.sops.secret."lidarr/apikey".request = {
mode = "0440";
owner = "lidarr";
group = "lidarr";
restartUnits = [ "lidarr.service" ];
};
shb.sops.secret."jackett/apikey".request = {
mode = "0440";
owner = "jackett";
group = "jackett";
restartUnits = [ "jackett.service" ];
};
}
Application Dashboard
Integration with the dashboard contract is provided by the various dashboard options.
For example using the Homepage service:
{
shb.homepage.servicesGroups.Media.services.Radarr = {
sortOrder = 10;
dashboard.request = config.shb.arr.radarr.dashboard.request;
apiKey.result = config.shb.sops.secret."radarr/homepageApiKey".result;
};
shb.sops.secret."radarr/homepageApiKey" = {
settings.key = "radarr/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Radarr.apiKey.request;
};
shb.homepage.servicesGroups.Media.services.Sonarr = {
sortOrder = 11;
dashboard.request = config.shb.arr.sonarr.dashboard.request;
apiKey.result = config.shb.sops.secret."sonarr/homepageApiKey".result;
};
shb.sops.secret."sonarr/homepageApiKey" = {
settings.key = "sonarr/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Sonarr.apiKey.request;
};
shb.homepage.servicesGroups.Media.services.Bazarr = {
sortOrder = 12;
dashboard.request = config.shb.arr.bazarr.dashboard.request;
apiKey.result = config.shb.sops.secret."bazarr/homepageApiKey".result;
};
shb.sops.secret."bazarr/homepageApiKey" = {
settings.key = "bazarr/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Bazarr.apiKey.request;
};
shb.homepage.servicesGroups.Media.services.Readarr = {
sortOrder = 13;
dashboard.request = config.shb.arr.readarr.dashboard.request;
apiKey.result = config.shb.sops.secret."readarr/homepageApiKey".result;
};
shb.sops.secret."readarr/homepageApiKey" = {
settings.key = "readarr/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Readarr.apiKey.request;
};
shb.homepage.servicesGroups.Media.services.Lidarr = {
sortOrder = 14;
dashboard.request = config.shb.arr.lidarr.dashboard.request;
apiKey.result = config.shb.sops.secret."lidarr/homepageApiKey".result;
};
shb.sops.secret."lidarr/homepageApiKey" = {
settings.key = "lidarr/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Lidarr.apiKey.request;
};
shb.homepage.servicesGroups.Media.services.Jackett = {
sortOrder = 15;
dashboard.request = config.shb.arr.jackett.dashboard.request;
apiKey.result = config.shb.sops.secret."jackett/homepageApiKey".result;
};
shb.sops.secret."jackett/homepageApiKey" = {
settings.key = "jackett/apikey";
request = config.shb.homepage.servicesGroups.Media.services.Jackett.apiKey.request;
};
}
This example reuses the API keys generated declaratively from the previous section.
Jackett Proxy
The Jackett service can be made to use a proxy with:
{
shb.arr.jackett = {
settings = {
ProxyType = "0";
ProxyUrl = "127.0.0.1:1234";
};
};
};
Options Reference
-
shb.arr.bazarr -
Configuration for bazarr
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.enable -
Whether to enable bazarr.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/bazarr" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"bazarr"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.bazarr.subdomain}.\${config.shb.arr.bazarr.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:6767"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.dataDir -
Directory where bazarr stores data.
Type: string
Default:
"/var/lib/bazarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.domain -
Domain under which bazarr will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings -
Specific options for bazarr.
Type: open submodule of (XML value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings.LogLevel -
Log level.
Type: one of “debug”, “info”
Default:
"info"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.settings.Port -
Port on which bazarr listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) (read only)
Default:
6767Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.bazarr.subdomain -
Subdomain under which bazarr will be served.
Type: string
Example:
"bazarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett -
Configuration for jackett
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.enable -
Whether to enable jackett.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/jackett" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"jackett"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.jackett.subdomain}.\${config.shb.arr.jackett.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:9117"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.dataDir -
Directory where jackett stores data.
Type: string
Default:
"/var/lib/jackett"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.domain -
Domain under which jackett will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings -
Specific options for jackett.
Type: open submodule of (JSON value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.FlareSolverrUrl -
FlareSolverr endpoint.
Type: null or string
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.OmdbApiKey -
File containing the Open Movie Database API key.
Type: null or (submodule)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.OmdbApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.OmdbApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.Port -
Port on which jackett listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) (read only)
Default:
9117Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ProxyPort -
Port of the proxy. Ignored if ProxyType is set to -1
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ProxyType -
-1 = disabled 0 = HTTP 1 = SOCKS4 2 = SOCKS5
Type: one of “-1”, “0”, “1”, “2”
Default:
"-1"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.settings.ProxyUrl -
URL of the proxy. Ignored if ProxyType is set to -1
Type: null or string
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.jackett.subdomain -
Subdomain under which jackett will be served.
Type: string
Example:
"jackett"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr -
Configuration for lidarr
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.enable -
Whether to enable lidarr.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/lidarr" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"lidarr"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.lidarr.subdomain}.\${config.shb.arr.lidarr.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:8686"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.dataDir -
Directory where lidarr stores data.
Type: string
Default:
"/var/lib/lidarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.domain -
Domain under which lidarr will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings -
Specific options for lidarr.
Type: open submodule of (XML value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings.LogLevel -
Log level.
Type: one of “debug”, “info”
Default:
"info"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.settings.Port -
Port on which lidarr listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
8686Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.lidarr.subdomain -
Subdomain under which lidarr will be served.
Type: string
Example:
"lidarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr -
Configuration for radarr
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.enable -
Whether to enable radarr.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/radarr" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"radarr"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.radarr.subdomain}.\${config.shb.arr.radarr.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:7878"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.dataDir -
Directory where radarr stores data.
Type: string
Default:
"/var/lib/radarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.domain -
Domain under which radarr will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings -
Specific options for radarr.
Type: open submodule of (XML value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.AnalyticsEnabled -
Wether to send anonymous data or not.
Type: boolean
Default:
falseDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.LogLevel -
Log level.
Type: one of “debug”, “info”
Default:
"info"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.settings.Port -
Port on which radarr listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
7878Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.radarr.subdomain -
Subdomain under which radarr will be served.
Type: string
Example:
"radarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr -
Configuration for readarr
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.enable -
Whether to enable readarr.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/readarr" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"readarr"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.readarr.subdomain}.\${config.shb.arr.readarr.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:8787"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.dataDir -
Directory where readarr stores data.
Type: string
Default:
"/var/lib/readarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.domain -
Domain under which readarr will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings -
Specific options for readarr.
Type: open submodule of (XML value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings.LogLevel -
Log level.
Type: one of “debug”, “info”
Default:
"info"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.settings.Port -
Port on which readarr listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
8787Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.readarr.subdomain -
Subdomain under which readarr will be served.
Type: string
Example:
"readarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr -
Configuration for sonarr
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.enable -
Whether to enable sonarr.
Type: boolean
Default:
falseExample:
trueDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.authEndpoint -
Endpoint to the SSO provider. Leave null to not have SSO configured.
Type: null or string
Default:
nullExample:
"https://authelia.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup -
Backup configuration.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request -
Request part of the backup contract.
Options set by the requester module enforcing how to backup files.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.excludePatterns -
File patterns to exclude.
Type: list of string
Default:
[ ".db-shm" ".db-wal" ".mono" ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.hooks -
Hooks to run around the backup.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.hooks.afterBackup -
Hooks to run after backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.hooks.beforeBackup -
Hooks to run before backup.
Type: list of string
Default:
[ ]Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.sourceDirectories -
Directories to backup.
Type: non-empty (list of string)
Default:
[ "/var/lib/sonarr" ]Example:
"/var/lib/vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.request.user -
Unix user doing the backups.
Type: string
Default:
"sonarr"Example:
"vaultwarden"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.result -
Result part of the backup contract.
Options set by the provider module that indicates the name of the backup and restore scripts.
Type: submodule
Default:
""Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.result.backupService -
Name of service backing up the database.
This script can be ran manually to backup the database:
$ systemctl start backup.serviceType: string
Default:
"backup.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.backup.result.restoreScript -
Name of script that can restore the database. One can then list snapshots with:
$ restore snapshots <snapshot 1> <metadata> <snapshot 2> <metadata>And restore the database with:
$ restore restore <snapshot 1>Type: string
Default:
"restore"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dashboard -
Dashboard contract consumer
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dashboard.request -
Request part of the dashboard contract.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dashboard.request.externalUrl -
URL at which the service can be accessed.
This URL should go through the reverse proxy.
Type: string
Default:
"https://\${config.shb.arr.sonarr.subdomain}.\${config.shb.arr.sonarr.domain}"Example:
"https://jellyfin.example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dashboard.request.internalUrl -
URL at which the service can be accessed directly.
This URL should bypass the reverse proxy. It can be used for example to ping the service and making sure it is up and running correctly.
Type: null or string
Default:
"http://127.0.0.1:8989"Example:
"http://127.0.0.1:8081"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dashboard.result -
Result part of the dashboard contract.
No option is provided here.
Type: submodule
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.dataDir -
Directory where sonarr stores data.
Type: string
Default:
"/var/lib/sonarr"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.domain -
Domain under which sonarr will be served.
Type: string
Example:
"example.com"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ldapUserGroup -
LDAP group a user must belong to be able to login.
Note that all users are admins too.
Type: string
Default:
"arr_user"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings -
Specific options for sonarr.
Type: open submodule of (XML value)
Default:
{ }Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings.ApiKey -
Path to api key secret file.
Type: submodule
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings.ApiKey.source -
File containing the value.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings.ApiKey.transform -
An optional function to transform the secret.
Type: raw value
Default:
nullExample:
v: "prefix-$${v}-suffix"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings.LogLevel -
Log level.
Type: one of “debug”, “info”
Default:
"info"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.settings.Port -
Port on which sonarr listens to incoming requests.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
8989Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ssl -
Path to SSL files
Type: null or (open submodule of anything)
Default:
nullDeclared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ssl.paths -
Paths where the files for the certificate will be located.
This option is the contract output of the
shb.certs.certsSSL block.Type: open submodule of anything
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ssl.paths.cert -
Path to the cert file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ssl.paths.key -
Path to the key file.
Type: absolute path
Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.ssl.systemdService -
Systemd oneshot service used to generate the certificate. Ends with the
.servicesuffix.Use this if downstream services must wait for the certificates to be generated before starting.
Type: string
Example:
"cert-generator.service"Declared by:
<selfhostblocks/modules/services/arr.nix> -
shb.arr.sonarr.subdomain -
Subdomain under which sonarr will be served.
Type: string
Example:
"sonarr"Declared by:
<selfhostblocks/modules/services/arr.nix>