Compare commits
2 commits
1e5b58bb31
...
71153b4e28
Author | SHA1 | Date | |
---|---|---|---|
71153b4e28 | |||
2621dfa7f5 |
10 changed files with 69 additions and 19 deletions
|
@ -45,6 +45,8 @@
|
||||||
nix.nix
|
nix.nix
|
||||||
nix.gc
|
nix.gc
|
||||||
|
|
||||||
|
services.flatpak
|
||||||
|
|
||||||
network.tailscale
|
network.tailscale
|
||||||
network.avahi
|
network.avahi
|
||||||
network.networkd
|
network.networkd
|
||||||
|
@ -55,9 +57,6 @@
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
|
|
||||||
"stremio-shell"
|
|
||||||
"stremio-server"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
qpwgraph
|
qpwgraph
|
||||||
|
|
||||||
stremio
|
|
||||||
moonlight-qt
|
moonlight-qt
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,9 @@ in {
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
globalConfig = ''
|
globalConfig = ''
|
||||||
metrics
|
metrics {
|
||||||
|
per_host
|
||||||
|
}
|
||||||
servers {
|
servers {
|
||||||
trusted_proxies static 10.0.0.1
|
trusted_proxies static 10.0.0.1
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,9 +10,16 @@
|
||||||
scrapeConfigs = [
|
scrapeConfigs = [
|
||||||
{
|
{
|
||||||
job_name = "node";
|
job_name = "node";
|
||||||
static_configs = lib.singleton {
|
static_configs = [
|
||||||
targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"];
|
{
|
||||||
};
|
targets = ["127.0.0.1:9100"];
|
||||||
|
labels.alias = "hopper";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
targets = ["rackserv:9100"];
|
||||||
|
labels.alias = "rackserv";
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
job_name = "tailscale_client";
|
job_name = "tailscale_client";
|
||||||
|
@ -22,9 +29,16 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
job_name = "caddy";
|
job_name = "caddy";
|
||||||
static_configs = lib.singleton {
|
static_configs = [
|
||||||
|
{
|
||||||
targets = ["${config.vpnNamespaces."wg".namespaceAddress}:2019"];
|
targets = ["${config.vpnNamespaces."wg".namespaceAddress}:2019"];
|
||||||
};
|
labels.alias = "hopper";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
targets = ["rackserv:2019"];
|
||||||
|
labels.alias = "rackserv";
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
job_name = "slskd";
|
job_name = "slskd";
|
||||||
|
@ -37,6 +51,12 @@
|
||||||
action = "drop";
|
action = "drop";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
job_name = "forgejo";
|
||||||
|
static_configs = lib.singleton {
|
||||||
|
targets = ["rackserv:9615"];
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -118,9 +118,6 @@
|
||||||
"idea-ultimate"
|
"idea-ultimate"
|
||||||
"android-studio-stable"
|
"android-studio-stable"
|
||||||
"krunker"
|
"krunker"
|
||||||
|
|
||||||
"stremio-shell"
|
|
||||||
"stremio-server"
|
|
||||||
];
|
];
|
||||||
android_sdk.accept_license = true;
|
android_sdk.accept_license = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -144,7 +144,6 @@
|
||||||
picard
|
picard
|
||||||
|
|
||||||
# media
|
# media
|
||||||
stremio
|
|
||||||
feishin
|
feishin
|
||||||
foliate
|
foliate
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
./profiles/backups.nix
|
./profiles/backups.nix
|
||||||
./profiles/caddy.nix
|
./profiles/caddy.nix
|
||||||
./profiles/forgejo.nix
|
./profiles/forgejo.nix
|
||||||
|
./profiles/prometheus.nix
|
||||||
]
|
]
|
||||||
++ (with systemProfiles; [
|
++ (with systemProfiles; [
|
||||||
core.security
|
core.security
|
||||||
|
|
|
@ -22,9 +22,20 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# systemd.services.caddy.environment.CADDY_ADMIN = "${vars.tailnet.rackserv}:2019";
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
globalConfig = ''
|
||||||
|
metrics {
|
||||||
|
per_host
|
||||||
|
}
|
||||||
|
admin :2019 {
|
||||||
|
origins 127.0.0.1 100.64.0.0/10
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
virtualHosts = let
|
||||||
|
forgejoPort = toString config.services.forgejo.settings.server.HTTP_PORT;
|
||||||
|
in {
|
||||||
misc = {
|
misc = {
|
||||||
hostName = "${domain}";
|
hostName = "${domain}";
|
||||||
serverAliases = ["*.${domain}"];
|
serverAliases = ["*.${domain}"];
|
||||||
|
@ -37,12 +48,21 @@ in {
|
||||||
hostName = "git.${domain}";
|
hostName = "git.${domain}";
|
||||||
useACMEHost = domain;
|
useACMEHost = domain;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}
|
respond /metrics 403
|
||||||
|
reverse_proxy localhost:${forgejoPort}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
other = {
|
forgejoMetrics = {
|
||||||
|
hostName = ":9615";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
respond 404
|
@blocked {
|
||||||
|
not {
|
||||||
|
client_ip ${vars.tailnet.hopper}
|
||||||
|
path /metrics
|
||||||
|
}
|
||||||
|
}
|
||||||
|
respond @blocked 403
|
||||||
|
reverse_proxy localhost:${forgejoPort}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,11 @@
|
||||||
HTTP_PORT = 3000;
|
HTTP_PORT = 3000;
|
||||||
HTTP_ADDR = "127.0.0.1";
|
HTTP_ADDR = "127.0.0.1";
|
||||||
};
|
};
|
||||||
|
metrics = {
|
||||||
|
ENABLED = true;
|
||||||
|
ENABLED_ISSUE_BY_LABEL = true;
|
||||||
|
ENABLED_ISSUE_BY_REPOSITORY = true;
|
||||||
|
};
|
||||||
service.DISABLE_REGISTRATION = true;
|
service.DISABLE_REGISTRATION = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
8
hosts/rackserv/profiles/prometheus.nix
Normal file
8
hosts/rackserv/profiles/prometheus.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
services.prometheus.exporters = {
|
||||||
|
node = {
|
||||||
|
enable = true;
|
||||||
|
enabledCollectors = ["systemd"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue