Add promethus

This commit is contained in:
batteredbunny 2024-11-30 15:38:34 +02:00
parent cb41a522fa
commit 7303d7c8e0
14 changed files with 180 additions and 237 deletions

View file

@ -40,6 +40,20 @@ in
plugins = [ "github.com/caddy-dns/cloudflare" ];
});
globalConfig = ''
servers {
metrics
}
admin 0.0.0.0:2019
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
virtualHosts = {
"xn--tdaa.ee" = {
extraConfig = ''
@ -54,11 +68,6 @@ in
}
'';
serverAliases = [ "üü.ee" ];
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"kaya.ee" = {
extraConfig = ''
@ -69,12 +78,6 @@ in
respond owo
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"lastfm.catnip.ee" = {
@ -86,11 +89,6 @@ in
reverse_proxy :${toString config.services.lastfm-status.port}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"http://syncthing.internal".extraConfig = ''
@ -153,11 +151,6 @@ in
hide .Trash-1000
}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"chat.catnip.ee".extraConfig = ''
@ -204,11 +197,6 @@ in
reverse_proxy :${toString settings.ports.mautrix-telegram}
}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"catnip.ee" = {
@ -234,11 +222,6 @@ in
respond `{"m.server": "matrix.catnip.ee:443"}`
}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"www.catnip.ee" = {
extraConfig = ''
@ -249,11 +232,6 @@ in
redir https://catnip.ee{uri} permanent
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"confess.catnip.ee" = {
@ -265,11 +243,6 @@ in
reverse_proxy :${toString config.services.confess-web.port}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
":80".extraConfig = ''

View file

@ -7,17 +7,12 @@
nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
services = {
caddy.virtualHosts."drasl.snailcore.net" = {
extraConfig = ''
caddy.virtualHosts."drasl.snailcore.net".extraConfig = ''
reverse_proxy http://${config.services.drasl.settings.ListenAddress}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
minecraft-servers = { # /srv/minecraft
minecraft-servers = {
# /srv/minecraft
enable = true;
eula = true;

View file

@ -40,6 +40,8 @@
"lidarr.internal"
"syncthing.internal"
"stats.internal"
"promtail.internal"
"prometheus.internal"
] "100.93.150.89";
};
conditional =

View file

@ -17,12 +17,6 @@ in
'';
useACMEHost = config.services.coturn.realm;
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
coturn = rec {

View file

@ -18,8 +18,7 @@
];
};
services.caddy.virtualHosts."player.catnip.ee" = {
extraConfig = ''
services.caddy.virtualHosts."player.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -27,10 +26,4 @@
reverse_proxy :${toString settings.ports.feishin}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
}

View file

@ -54,9 +54,7 @@
};
};
caddy.virtualHosts = {
"forge.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."forge.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -64,13 +62,6 @@
reverse_proxy :${toString config.services.forgejo.settings.server.HTTP_PORT}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
};
borgbackup.jobs."borgbase" = {
paths = [

View file

@ -6,6 +6,12 @@
provision = {
enable = true;
datasources.settings.datasources = [
{
name = "Prometheus";
type = "prometheus";
access = "proxy";
url = "http://127.0.0.1:${toString config.services.prometheus.port}";
}
{
name = "loki";
type = "loki";
@ -124,14 +130,57 @@
};
};
caddy.virtualHosts."http://stats.internal".extraConfig = ''
prometheus = {
port = 3020;
enable = true;
exporters = {
node = {
port = 3021;
enabledCollectors = [ "systemd" ];
enable = true;
};
};
scrapeConfigs = [
{
job_name = "caddy";
static_configs = [{
targets = [
"127.0.0.1:2019"
];
}];
}
{
job_name = "nodes";
static_configs = [{
targets = [
"127.0.0.1:${toString config.services.prometheus.exporters.node.port}"
];
}];
}
];
};
caddy.virtualHosts = {
"http://prometheus.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local http://127.0.0.1:${toString config.services.prometheus.port}
'';
"http://promtail.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local http://127.0.0.1:${toString config.services.promtail.configuration.server.http_listen_port}
'';
"http://stats.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local http://${config.services.grafana.settings.server.http_addr}:${toString config.services.grafana.settings.server.http_port}
'';
};
borgbackup.jobs."borgbase".paths = [
"/var/lib/loki"
"/var/lib/grafana"
"/var/lib/prometheus2"
];
};

View file

@ -34,8 +34,7 @@
jellyfin.enable = true;
caddy.virtualHosts = {
"vue.jellyfin.catnip.ee" = {
extraConfig = ''
"vue.jellyfin.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -43,14 +42,7 @@
reverse_proxy :${toString settings.ports.jellyfin_vue}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
"jellyfin.catnip.ee" = {
extraConfig = ''
"jellyfin.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -58,12 +50,6 @@
reverse_proxy :${toString settings.ports.jellyfin}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
};
borgbackup.jobs."borgbase" = {

View file

@ -21,8 +21,7 @@
};
};
caddy.virtualHosts."fedi.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."fedi.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -62,12 +61,6 @@
header /system/accounts/avatars/* Cache-Control "public, max-age=31536000, immutable"
header /system/media_attachments/files/* Cache-Control "public, max-age=31536000, immutable"
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
borgbackup.jobs."borgbase" = {
paths = [

View file

@ -12,8 +12,7 @@
services = {
# mautrix-discord media proxy https://docs.mau.fi/bridges/go/discord/direct-media.html
caddy.virtualHosts."discord-media.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."discord-media.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -21,12 +20,6 @@
reverse_proxy :29334
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
# /var/lib/mautrix-telegram
mautrix-telegram = {

View file

@ -4,8 +4,7 @@
];
services = {
caddy.virtualHosts."cloud.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."cloud.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -25,12 +24,6 @@
reverse_proxy 127.0.0.1:${toString settings.ports.nextcloud}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
# /var/lib/nextcloud
nextcloud = {

View file

@ -8,8 +8,7 @@
base-url = "https://ntfy.catnip.ee";
};
};
caddy.virtualHosts."ntfy.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."ntfy.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -26,12 +25,6 @@
}
redir @httpget https://{host}{uri}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
borgbackup.jobs."borgbase".paths = [
"/var/lib/ntfy-sh"

View file

@ -44,11 +44,6 @@
}
'';
serverAliases = [ "*.bsky.ee" ];
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
borgbackup.jobs."borgbase".paths = [

View file

@ -1,7 +1,6 @@
{ config, ... }: {
services = {
caddy.virtualHosts."waka.catnip.ee" = {
extraConfig = ''
caddy.virtualHosts."waka.catnip.ee".extraConfig = ''
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
@ -9,12 +8,6 @@
reverse_proxy :${toString config.services.wakapi.settings.server.port}
'';
logFormat = ''
output file ${config.services.caddy.logDir}/access.log {
mode 640
}
'';
};
wakapi = {
enable = true;