Add prometheus exporter for nixarr

This commit is contained in:
Théo Barnouin 2025-05-15 12:25:14 +02:00
parent 543f3bfba4
commit 5fe4d29ce1
7 changed files with 124 additions and 1 deletions

View file

@ -136,6 +136,23 @@
}
];
};
nixarr = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
agenix.nixosModules.default
crowdsec.nixosModules.crowdsec-firewall-bouncer
"${inputs.nixpkgs}/nixos/modules/virtualisation/proxmox-image.nix"
"${inputs.self}/systems/minimalVMConfig.nix"
"${inputs.self}/services"
"${inputs.self}/modules"
{
services.vm_nixarr = {
enable = true;
};
}
];
};
redis = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };

View file

@ -47,4 +47,8 @@ in {
"secrets/docker-lapi-key.age".publicKeys = [tbarnouin qbittorrent-vpn];
"secrets/nixarr-lapi-key.age".publicKeys = [tbarnouin nixarr];
"secrets/nixarr-radarr-apiKeyFile.age".publicKeys = [tbarnouin nixarr];
"secrets/nixarr-prowlarr-apiKeyFile.age".publicKeys = [tbarnouin nixarr];
"secrets/nixarr-sonarr-apiKeyFile.age".publicKeys = [tbarnouin nixarr];
"secrets/nixarr-bazarr-apiKeyFile.age".publicKeys = [tbarnouin nixarr];
}

View file

@ -0,0 +1,13 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE9Xa1ZYdyBlKyty
ZFB3cFBMb01vanh0UFFMT0ZNa0pZOWN6dEtQNTRYYWQrVVk3ZVdZCjZWVnlmY0Jw
Ym45TjhLbTJjQlNzaGYrTEZ2QS90YWN4RGRnTGJkYTZQODgKLT4gc3NoLWVkMjU1
MTkgSEdqU05RIEZWVDVjMkJVUmFFVS8yOU9tUHlvYjlxdzEwNXFWVGVnV0JsZ3JY
VjFFWEUKZG1iK0V4M2l3VklHcEk1NlNqU0dXdW5HeS9wK29ZWEIwZ3ZkaEY4aWVR
ZwotPiBafE0hRGhpLWdyZWFzZSBjX3k1TWMtJyB4QGhhdUtrIDg4dlphNQpqTjFX
N2FDTHBzbXgxQURZc2k4R2hYSWtTLzZCRWg4YlNsR0ZiMzZ6YmVSR2JHd2JNcUZD
ZkJuNUV6ZEJwK2VKCjVMazArcTNKQ0RnZjJienY3OGgzSE9LRVJ1WmJMRjZNU0hV
ZTUrZWQ0YTMxWE9yRXRnCi0tLSBSZ0RyK1pZbnFjNmRZSy9GZzhxUU92NDlCbDV4
K0xVVGk1VHlmTTY5SE5ZCpc/ePpwM5Np36Uo/Hc3eh7uff7eQlsvgPoxFb9gHM42
tk54R+vRrW1GgnpRlTBaYReY5o3fLxYrUSQwc2nyJqxC
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE9Xa1ZYdyA4MUh2
K09FcTdoM0JMVnpMZlhwb3hST0lMVW1RSzgwMzZjamZyWHQ0cndrCnBzckV4WktQ
OHdXOUJxRmJ1eGZwaFBHa1JkZVoxOGI4L0IzQVFXcHFTRmcKLT4gc3NoLWVkMjU1
MTkgSEdqU05RIGhsbzdTQzlrcW5ueXRpeHlkM003cTlMOTVvS2p0Rk4vL01rQldX
ZEZmeEkKWXNlQU1QK3lvdXJZNnJ5dWFLMy9TbzMvTExPVFE2UDNpTnRmbWJwNFpL
YwotPiAwO3h6az08LWdyZWFzZSBDQ24gImlDbi5AWyBAClE4eWpaOWV2bXdRanMx
THU2TVgwU09FYWxNVXVGNENaOVpldmd6SUdpNVBaanJVRGxuSUJ3aTIvcGhsdGla
M1QKSm9Hb3RsM1VvZFEKLS0tIGtnYTEzekM3UUZEZ0xnRWcxVld0UEh0dWJaOGZv
U08wUUVzUUFvaGFoTVEKh033iwhL8dE+b7uPvwElu1YMQBlDyq2ibVRLKqisEbDv
6SM4z2k1f+h2zGsXXlljrggUa3sb8HWrTi0pNBmV7p8=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE9Xa1ZYdyBJKzdV
SVNDMnNwT1F4dk5vTmE2MFY0SitjeXk5NjBINHNIbnk4TTk4d2hnCktwb05zUTM5
cWFqOGtqUFQxN3dSajQwSzVTYXZmZUMvRTNYL1NteWpySmMKLT4gc3NoLWVkMjU1
MTkgSEdqU05RIGFMU1JPTmFlc0svTVVSbkJmTFVIR2V3VXBTMFpEVXphVThod2VP
NTMybEEKTVlGZ1JlR2hyaGtSMjlnVTJMM3kyM21oQzFaanAybjEwTFhGY2s0OXRH
SQotPiB4LWdyZWFzZSBeMDNpciBnIFVQKiZxLSBmeTwKdnZEY04rcC9ESFI0MVlH
ZGRMSUswSUpBckZ2SjhUc2lvTk1zTENWa3ZvZHViUUhISHVQUzdFYXp1eE1jaWcK
LS0tIE54bUdjWllHMjhLYzR0czRuajl2elQ0N1VIVHlEbnV1TUR4OFh0NDhnSXMK
TJX+I+txB5DrrtRHplZc3J5JwH3XZb4HYLAFhTq0bEhhzTcZMJRWFQ/cPYtl0ftJ
T+y5x6p1DGaVqRleQR3Zz2I=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,13 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE9Xa1ZYdyBqelly
QzlVSis2SEVrTXZTOENtYXJxd1pNNDBYdXlnbXRKb09sc3ZLZ1VVCjR4cUVHa2Nm
SFJVTkl0akk4cll0UUZycTJrR0w1RFJ1VStjWXNzaSs0eGsKLT4gc3NoLWVkMjU1
MTkgSEdqU05RIFdQeFdiOWdGUXRIK2J4NGZVaEl2djlrcVYrNWhOelpRYUpsZ3px
MHk4WFkKYnhQaTJVSE5Obkp1cnorY0x6TkxwYUZncjMxc0lla2FqV0pGa09CUDBo
UQotPiBFaUIqQE96LWdyZWFzZSA2NEc7YShtIFFzOXFmJiByQ3RNbApPbEdQa2dN
c2g2VWlTTUxRY3J4K2xPSkNXV3hTTzRBOWxGR0ZzVDNaa3Q5OGtHdCs3cVhtcmF5
WGZONTdzQzBnClhlVXRkT1pPemxTdEMxQXBlYVRnUUlZeEFlMFZjWmYwZ0lQVCsx
OUZMTUNoNTYxdC9RSTdNNStYS2syNwotLS0gTDZpZDhXT00rcFg2S2k4eWMrVkR2
a28xbjl3THBHRFB6ZWh0VXNMWEU1cwqxxGl+m5eG0bc+VnI80eeO/BmtCcFoPl9T
iStAXbiX5bXsQnLhpgH8AZR1x2oM3VZ4NbfdEolv32sflyQrasjkIw==
-----END AGE ENCRYPTED FILE-----

View file

@ -15,6 +15,30 @@ in {
file = ../../secrets/nixarr-lapi-key.age;
owner = "crowdsec";
};
nixarr-radarr-apiKeyFile = {
file = ../../secrets/nixarr-radarr-apiKeyFile.age;
owner = "exportarr-radarr-exporter";
};
nixarr-prowlarr-apiKeyFile = {
file = ../../secrets/nixarr-prowlarr-apiKeyFile.age;
owner = "exportarr-prowlarr-exporter";
};
nixarr-bazarr-apiKeyFile = {
file = ../../secrets/nixarr-bazarr-apiKeyFile.age;
owner = "exportarr-bazarr-exporter";
};
nixarr-sonarr-apiKeyFile = {
file = ../../secrets/nixarr-sonarr-apiKeyFile.age;
owner = "exportarr-sonarr-exporter";
};
};
fileSystems."/downloads" = {
device = "192.168.1.125:/BIGDATA";
fsType = "nfs";
options = [
"x-systemd.automount"
"noauto"
];
};
services = {
crowdsec = {
@ -54,7 +78,35 @@ in {
enable = true;
openFirewall = true;
};
prometheus.exporters = {
exportarr-prowlarr = {
enable = true;
apiKeyFile = "${config.age.secrets.nixarr-prowlarr-apiKeyFile.path}";
openFirewall = true;
};
exportarr-bazarr = {
enable = true;
apiKeyFile = "${config.age.secrets.nixarr-bazarr-apiKeyFile.path}";
openFirewall = true;
};
exportarr-sonarr = {
enable = true;
apiKeyFile = "${config.age.secrets.nixarr-sonarr-apiKeyFile.path}";
openFirewall = true;
};
exportarr-radarr = {
enable = true;
apiKeyFile = "${config.age.secrets.nixarr-radarr-apiKeyFile.path}";
openFirewall = true;
};
};
};
networking = {
firewall.allowedTCPPorts = [3000 9708];
extraHosts = ''
188.114.96.2 www.yggtorrent.top
188.114.97.2 www.yggtorrent.top
'';
};
networking.firewall.allowedTCPPorts = [3000];
};
}