adding arr

This commit is contained in:
2025-07-22 17:19:44 +02:00
parent 69b907d0d4
commit c2e41bf4b3
5 changed files with 112 additions and 10 deletions

View File

@@ -24,6 +24,12 @@
lidarr = { lidarr = {
enable = true; enable = true;
}; };
sonarr = {
enable = true;
};
radarr = {
enable = true;
};
vaultwarden = { vaultwarden = {
enable = true; enable = true;
url = "vault.cnst.dev"; url = "vault.cnst.dev";

View File

@@ -127,6 +127,8 @@
./server/vaultwarden ./server/vaultwarden
./server/prowlarr ./server/prowlarr
./server/lidarr ./server/lidarr
./server/radarr
./server/sonarr
./server/qbittorrent ./server/qbittorrent
]; ];
}; };

View File

@@ -48,15 +48,5 @@ in {
reverse_proxy http://127.0.0.1:8686 reverse_proxy http://127.0.0.1:8686
''; '';
}; };
# users = {
# users.lidarr = {
# uid = 1000;
# group = "lidarr";
# isSystemUser = true;
# };
# groups.lidarr = {
# gid = 1000;
# };
# };
}; };
} }

View File

@@ -0,0 +1,52 @@
{
config,
lib,
...
}: let
unit = "radarr";
srv = config.server;
cfg = config.server.${unit};
in {
options.server.${unit} = {
enable = lib.mkEnableOption {
description = "Enable ${unit}";
};
configDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/${unit}";
};
url = lib.mkOption {
type = lib.types.str;
default = "${unit}.${srv.domain}";
};
homepage.name = lib.mkOption {
type = lib.types.str;
default = "Radarr";
};
homepage.description = lib.mkOption {
type = lib.types.str;
default = "Music collection manager";
};
homepage.icon = lib.mkOption {
type = lib.types.str;
default = "radarr.svg";
};
homepage.category = lib.mkOption {
type = lib.types.str;
default = "Arr";
};
};
config = lib.mkIf cfg.enable {
services.${unit} = {
enable = true;
user = srv.user;
group = srv.group;
};
services.caddy.virtualHosts."${cfg.url}" = {
useACMEHost = srv.domain;
extraConfig = ''
reverse_proxy http://127.0.0.1:7878
'';
};
};
}

View File

@@ -0,0 +1,52 @@
{
config,
lib,
...
}: let
unit = "sonarr";
srv = config.server;
cfg = config.server.${unit};
in {
options.server.${unit} = {
enable = lib.mkEnableOption {
description = "Enable ${unit}";
};
configDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/${unit}";
};
url = lib.mkOption {
type = lib.types.str;
default = "${unit}.${srv.domain}";
};
homepage.name = lib.mkOption {
type = lib.types.str;
default = "Sonarr";
};
homepage.description = lib.mkOption {
type = lib.types.str;
default = "Music collection manager";
};
homepage.icon = lib.mkOption {
type = lib.types.str;
default = "sonarr.svg";
};
homepage.category = lib.mkOption {
type = lib.types.str;
default = "Arr";
};
};
config = lib.mkIf cfg.enable {
services.${unit} = {
enable = true;
user = srv.user;
group = srv.group;
};
services.caddy.virtualHosts."${cfg.url}" = {
useACMEHost = srv.domain;
extraConfig = ''
reverse_proxy http://127.0.0.1:8989
'';
};
};
}