mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 09:54:40 +02:00
service/arr: migrate to nixos exportarr
This commit is contained in:
parent
d76ab3a87b
commit
2449611bce
4 changed files with 92 additions and 73 deletions
|
@ -8,11 +8,37 @@ in
|
|||
{
|
||||
options.my.services.bazarr = with lib; {
|
||||
enable = mkEnableOption "Bazarr for subtitle management";
|
||||
|
||||
apiKeyFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = lib.mdDoc ''
|
||||
File containing the api-key.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.bazarr = {
|
||||
enable = true;
|
||||
services = {
|
||||
bazarr = {
|
||||
enable = true;
|
||||
};
|
||||
prometheus.exporters.exportarr-bazarr = {
|
||||
inherit (config.services.prometheus) enable;
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "bazarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services.bazarr = {
|
||||
|
|
|
@ -18,19 +18,28 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.prowlarr = {
|
||||
enable = true;
|
||||
services = {
|
||||
prowlarr = {
|
||||
enable = true;
|
||||
};
|
||||
prometheus.exporters.exportarr-prowlarr = {
|
||||
inherit (config.services.prometheus) enable;
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "prowlarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
# # ugly fix for service not having a homedirectory
|
||||
# users.users.prowlarr = {
|
||||
# isSystemUser = true;
|
||||
# home = "/var/lib/prowlarr";
|
||||
# group = "prowlarr";
|
||||
# uid = 61654;
|
||||
# };
|
||||
# users.groups.prowlarr = {
|
||||
# gid = 61654;
|
||||
# };
|
||||
|
||||
systemd.services.prowlarr = {
|
||||
after = [ "network-online.target" ];
|
||||
|
@ -43,24 +52,6 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
my.services.exportarr.prowlarr = {
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
|
||||
services.prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "prowlarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
webapps.apps.prowlarr = {
|
||||
dashboard = {
|
||||
name = "Indexer";
|
||||
|
|
|
@ -7,7 +7,7 @@ let
|
|||
in
|
||||
{
|
||||
options.my.services.radarr = with lib; {
|
||||
enable = mkEnableOption "Radarr for films management";
|
||||
enable = mkEnableOption "Radarr for film management";
|
||||
|
||||
apiKeyFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
|
@ -18,8 +18,27 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.radarr = {
|
||||
enable = true;
|
||||
services = {
|
||||
radarr = {
|
||||
enable = true;
|
||||
};
|
||||
prometheus.exporters.exportarr-radarr = {
|
||||
inherit (config.services.prometheus) enable;
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "radarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services.radarr = {
|
||||
|
@ -33,24 +52,6 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
my.services.exportarr.radarr = {
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
|
||||
services.prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "radarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
webapps.apps.radarr = {
|
||||
dashboard = {
|
||||
name = "Movies";
|
||||
|
|
|
@ -18,8 +18,27 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.sonarr = {
|
||||
enable = true;
|
||||
services = {
|
||||
sonarr = {
|
||||
enable = true;
|
||||
};
|
||||
prometheus.exporters.exportarr-sonarr = {
|
||||
inherit (config.services.prometheus) enable;
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "sonarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services.sonarr = {
|
||||
|
@ -33,24 +52,6 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
my.services.exportarr.sonarr = {
|
||||
port = port + 1;
|
||||
url = "http://127.0.0.1:${toString port}";
|
||||
inherit (cfg) apiKeyFile;
|
||||
};
|
||||
|
||||
services.prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "sonarr";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:${toString port + 1}" ];
|
||||
labels = {
|
||||
instance = config.networking.hostName;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
webapps.apps.sonarr = {
|
||||
dashboard = {
|
||||
name = "Series";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue