diff --git a/modules/common.nix b/modules/common.nix index ecc1369..2a49521 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -45,9 +45,24 @@ # QEMU guest agent (for VM integration when running as guest) 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 = { - enable = false; # Manual control via flake - allowReboot = false; + enable = true; + 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"; + }; }; } \ No newline at end of file diff --git a/modules/gateway.nix b/modules/gateway.nix index 65cbb49..3ef9d6f 100644 --- a/modules/gateway.nix +++ b/modules/gateway.nix @@ -42,38 +42,16 @@ reverse_proxy 10.202.82.6:3000 ''; }; - # konnektor-web — Frontend - "konnektor.home.lindenfelser.de" = { - extraConfig = '' - 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" = { + # Music-Server — NUR aus dem LAN 10.202.82.0/24 erreichbar. + # Alle anderen IPs bekommen 403, ohne dass der Upstream je angerufen wird. + "music.home.lindenfelser.de" = { extraConfig = '' @lan client_ip 10.202.82.0/24 handle @lan { - reverse_proxy 10.202.82.49:8025 + reverse_proxy 10.202.82.195:80 } 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 } ''; };