monitoring: add radarr, sonarr and transmission
This commit is contained in:
parent
bc55ae7b8b
commit
fe404baad0
7 changed files with 115 additions and 3 deletions
|
@ -1,5 +1,14 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
inherit (config.my-lib.settings)
|
||||
internalDomain
|
||||
;
|
||||
in
|
||||
{
|
||||
sops.secrets = {
|
||||
"sonarr/api-key" = { };
|
||||
"radarr/api-key" = { };
|
||||
};
|
||||
services.jackett = {
|
||||
enable = true;
|
||||
openFirewall = false;
|
||||
|
@ -20,6 +29,22 @@
|
|||
enable = true;
|
||||
};
|
||||
|
||||
services.prometheus.exporters.exportarr-sonarr = {
|
||||
enable = true;
|
||||
url = "http://127.0.0.1:8989";
|
||||
apiKeyFile = config.sops.secrets."sonarr/api-key".path;
|
||||
listenAddress = "weilite.${internalDomain}";
|
||||
port = 21560;
|
||||
};
|
||||
|
||||
services.prometheus.exporters.exportarr-radarr = {
|
||||
enable = true;
|
||||
url = "http://127.0.0.1:7878";
|
||||
apiKeyFile = config.sops.secrets."radarr/api-key".path;
|
||||
listenAddress = "weilite.${internalDomain}";
|
||||
port = 21561;
|
||||
};
|
||||
|
||||
users.groups.media.members = [
|
||||
config.services.sonarr.user
|
||||
config.services.radarr.user
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.transmission;
|
||||
inherit (config.my-lib.settings) transmissionExporterUrl;
|
||||
in
|
||||
{
|
||||
sops.secrets = {
|
||||
|
@ -13,6 +19,12 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
sops.templates."transmission-cred.env" = {
|
||||
content = ''
|
||||
TRANSMISSION_PASSWORD=${config.sops.placeholder."transmission/rpc-password"}
|
||||
'';
|
||||
};
|
||||
|
||||
services.transmission = {
|
||||
enable = true;
|
||||
package = pkgs.transmission_4;
|
||||
|
@ -64,6 +76,22 @@ in
|
|||
services.caddy.virtualHosts."https://weilite.coho-tet.ts.net:9091".extraConfig = ''
|
||||
reverse_proxy 127.0.0.1:${toString cfg.settings.rpc-port}
|
||||
'';
|
||||
|
||||
systemd.services.prometheus-transmission-exporter = {
|
||||
enable = true;
|
||||
wantedBy = [ "transmission.service" ];
|
||||
environment = {
|
||||
WEB_ADDR = transmissionExporterUrl;
|
||||
TRANSMISSION_ADDR = "http://127.0.0.1:${toString cfg.settings.rpc-port}";
|
||||
TRANSMISSION_USERNAME = "xin";
|
||||
};
|
||||
after = [ "tailscaled.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${lib.getExe pkgs.transmission-exporter}";
|
||||
EnvironmentFile = config.sops.templates."transmission-cred.env".path;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 9091 ]; # allow on lan
|
||||
users.groups.media.members = [ cfg.user ];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue