Add LAN-only music vhost and enable weekly autoUpgrade
- gateway: replace konnektor/api/auth/mailpit vhosts with music.home.lindenfelser.de -> 10.202.82.195:80, LAN-only (403 otherwise) - common: enable system.autoUpgrade, pulling config from Gitea main and overriding nixpkgs to the nixos-25.11 tip for weekly package refresh; reboot allowed in a 04:00-06:00 window Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+18
-3
@@ -45,9 +45,24 @@
|
|||||||
# QEMU guest agent (for VM integration when running as guest)
|
# QEMU guest agent (for VM integration when running as guest)
|
||||||
services.qemuGuest.enable = true;
|
services.qemuGuest.enable = true;
|
||||||
|
|
||||||
# Automatic updates (security)
|
# Automatic updates — pull the committed config from Gitea and rebuild.
|
||||||
|
# Jeder Host baut sein eigenes Flake-Attribut (= networking.hostName).
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = false; # Manual control via flake
|
enable = true;
|
||||||
allowReboot = false;
|
flake = "git+https://git.home.lindenfelser.de/danlin/infra-nix.git?ref=main#${config.networking.hostName}";
|
||||||
|
# nixpkgs beim Build auf die aktuelle Spitze von nixos-25.11 ziehen,
|
||||||
|
# statt den in main gepinnten flake.lock zu verwenden — so kommen
|
||||||
|
# wöchentlich frische Pakete ohne separaten Lock-Commit.
|
||||||
|
flags = [
|
||||||
|
"--override-input" "nixpkgs" "github:NixOS/nixpkgs/nixos-25.11"
|
||||||
|
];
|
||||||
|
dates = "Sun 04:00";
|
||||||
|
randomizedDelaySec = "30min";
|
||||||
|
# Kernel/Init-Updates greifen nur nach Reboot — nachts im Fenster erlauben.
|
||||||
|
allowReboot = true;
|
||||||
|
rebootWindow = {
|
||||||
|
lower = "04:00";
|
||||||
|
upper = "06:00";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
+5
-27
@@ -42,38 +42,16 @@
|
|||||||
reverse_proxy 10.202.82.6:3000
|
reverse_proxy 10.202.82.6:3000
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
# konnektor-web — Frontend
|
# Music-Server — NUR aus dem LAN 10.202.82.0/24 erreichbar.
|
||||||
"konnektor.home.lindenfelser.de" = {
|
# Alle anderen IPs bekommen 403, ohne dass der Upstream je angerufen wird.
|
||||||
extraConfig = ''
|
"music.home.lindenfelser.de" = {
|
||||||
reverse_proxy 10.202.82.49:8082
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# konnektor-api Frontend REST
|
|
||||||
"api.konnektor.home.lindenfelser.de" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy 10.202.82.49:8080
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# Zitadel OIDC
|
|
||||||
# Wichtig: `header_up Host {host}` — Zitadel routet anhand des Host-
|
|
||||||
# Headers; ohne das sieht es den Upstream-Container-Hostname und failt.
|
|
||||||
"auth.konnektor.home.lindenfelser.de" = {
|
|
||||||
extraConfig = ''
|
|
||||||
reverse_proxy 10.202.82.49:8081 {
|
|
||||||
header_up Host {host}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# Mailpit Web UI — NUR aus dem LAN 10.202.82.0/24 erreichbar.
|
|
||||||
# Alle anderen IPs bekommen 403, ohne dass Mailpit jemals angerufen wird.
|
|
||||||
"mailpit.konnektor.home.lindenfelser.de" = {
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
@lan client_ip 10.202.82.0/24
|
@lan client_ip 10.202.82.0/24
|
||||||
handle @lan {
|
handle @lan {
|
||||||
reverse_proxy 10.202.82.49:8025
|
reverse_proxy 10.202.82.195:80
|
||||||
}
|
}
|
||||||
handle {
|
handle {
|
||||||
respond "forbidden — mailpit ist nur aus dem LAN 10.202.82.0/24 erreichbar" 403
|
respond "forbidden — music ist nur aus dem LAN 10.202.82.0/24 erreichbar" 403
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user