nixos: Add Netdata
This commit is contained in:
parent
f99eb399dc
commit
c0ca7888aa
@ -57,6 +57,7 @@
|
|||||||
boot.thin.enable = true;
|
boot.thin.enable = true;
|
||||||
dmeventd.enable = true;
|
dmeventd.enable = true;
|
||||||
};
|
};
|
||||||
|
netdata.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
lvm = {
|
lvm = {
|
||||||
dmeventd.enable = true;
|
dmeventd.enable = true;
|
||||||
};
|
};
|
||||||
|
netdata.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
|
@ -54,6 +54,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
netdata.enable = true;
|
||||||
|
|
||||||
transmission = {
|
transmission = {
|
||||||
enable = true;
|
enable = true;
|
||||||
downloadDirPermissions = null;
|
downloadDirPermissions = null;
|
||||||
|
@ -31,7 +31,7 @@ in
|
|||||||
tcp dport ${toString transmissionPeerPort} accept
|
tcp dport ${toString transmissionPeerPort} accept
|
||||||
iifname vpn return
|
iifname vpn return
|
||||||
|
|
||||||
tcp dport { 9091, 9117, 7878, 8989, 8096 } accept
|
tcp dport { 19999, 9091, 9117, 7878, 8989, 8096 } accept
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
chain input {
|
chain input {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
inherit (builtins) mapAttrs toJSON;
|
inherit (builtins) mapAttrs toJSON;
|
||||||
inherit (lib) mkMerge mkDefault genAttrs flatten;
|
inherit (lib) mkMerge mkDefault genAttrs flatten concatStringsSep;
|
||||||
|
|
||||||
dualStackListen' = l: map (addr: l // { inherit addr; }) [ "0.0.0.0" "[::]" ];
|
dualStackListen' = l: map (addr: l // { inherit addr; }) [ "0.0.0.0" "[::]" ];
|
||||||
dualStackListen = ll: flatten (map dualStackListen' ll);
|
dualStackListen = ll: flatten (map dualStackListen' ll);
|
||||||
@ -69,6 +69,37 @@ in
|
|||||||
useACMEHost = lib.my.pubDomain;
|
useACMEHost = lib.my.pubDomain;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"netdata-colony.${lib.my.pubDomain}" =
|
||||||
|
let
|
||||||
|
hosts = [ "vm" "fw" "ctr" "jackflix-ctr" ];
|
||||||
|
matchHosts = concatStringsSep "|" hosts;
|
||||||
|
in
|
||||||
|
mkMerge [
|
||||||
|
{
|
||||||
|
locations = {
|
||||||
|
"= /".return = "301 https://$host/colony/";
|
||||||
|
"~ /(?<behost>${matchHosts})$".return = "301 https://$host/$behost/";
|
||||||
|
"~ /(?<behost>${matchHosts})/(?<ndpath>.*)" = mkMerge [
|
||||||
|
{
|
||||||
|
proxyPass = "http://$behost.${config.networking.domain}:19999/$ndpath$is_args$args";
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_pass_request_headers on;
|
||||||
|
proxy_set_header Connection "keep-alive";
|
||||||
|
proxy_store off;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_proxied any;
|
||||||
|
gzip_types *;
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
(ssoLoc "generic")
|
||||||
|
];
|
||||||
|
};
|
||||||
|
useACMEHost = lib.my.pubDomain;
|
||||||
|
}
|
||||||
|
(ssoServer "generic")
|
||||||
|
];
|
||||||
|
|
||||||
"pass.${lib.my.pubDomain}" =
|
"pass.${lib.my.pubDomain}" =
|
||||||
let
|
let
|
||||||
upstream = "http://vaultwarden-ctr.${config.networking.domain}";
|
upstream = "http://vaultwarden-ctr.${config.networking.domain}";
|
||||||
|
@ -72,6 +72,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
netdata.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
links = {
|
links = {
|
||||||
"10-vms" = {
|
"10-vms" = {
|
||||||
@ -112,6 +116,7 @@
|
|||||||
server.enable = true;
|
server.enable = true;
|
||||||
|
|
||||||
firewall = {
|
firewall = {
|
||||||
|
tcp.allowed = [ 19999 ];
|
||||||
trustedInterfaces = [ "vms" "ctrs" ];
|
trustedInterfaces = [ "vms" "ctrs" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -128,6 +128,16 @@ in
|
|||||||
permitRootLogin = mkDefault "no";
|
permitRootLogin = mkDefault "no";
|
||||||
passwordAuthentication = mkDefault false;
|
passwordAuthentication = mkDefault false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
netdata = {
|
||||||
|
config = {
|
||||||
|
global = {
|
||||||
|
"memory mode" = "dbengine";
|
||||||
|
"page cache size" = 32;
|
||||||
|
"dbengine multihost disk space" = 256;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
(mkIf config.services.kmscon.enable {
|
(mkIf config.services.kmscon.enable {
|
||||||
|
@ -280,6 +280,18 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
(mkIf config.services.netdata.enable {
|
||||||
|
my.tmproot.persistence.config.directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/netdata";
|
||||||
|
inherit (config.services.netdata) user group;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "/var/cache/netdata";
|
||||||
|
inherit (config.services.netdata) user group;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
})
|
||||||
(persistSimpleSvc "transmission")
|
(persistSimpleSvc "transmission")
|
||||||
(persistSimpleSvc "jackett")
|
(persistSimpleSvc "jackett")
|
||||||
(persistSimpleSvc "radarr")
|
(persistSimpleSvc "radarr")
|
||||||
|
Loading…
Reference in New Issue
Block a user