all repos — nixfiles @ 8096a2d9944faa1e07595a1e8fb0b566a588f73f

System and user configuration, managed by nix and home-manager

extract base caddy setup

Alin
commit

8096a2d9944faa1e07595a1e8fb0b566a588f73f

parent

7b732e2525a1a161f21793bb006c3f1c5fa311bc

1 file changed, 1 insertion(+), 62 deletions(-)

changed files
M system/hosts/linde.nix → system/hosts/linde.nix
@@ -32,6 +32,7 @@ ./linde-hardware.nix
../settings/configuration/nix-linux.nix ../settings/services/git-server.nix + ../settings/services/caddy.nix ]; age.secrets = { paperless =
@@ -46,7 +47,6 @@ mode = "400";
symlink = false; }; acme.file = ../../secrets/acme.age; - caddy.file = ../../secrets/caddy.age; binarycache.file = ../../secrets/binarycache.age; powerdns.file = ../../secrets/powerdns.age; redis-website.file = ../../secrets/redis-website.age;
@@ -281,7 +281,6 @@ extraSetFlags = [
"--advertise-exit-node" ]; useRoutingFeatures = "both"; - permitCertUid = config.services.caddy.user; }; services.mycal = {
@@ -563,7 +562,6 @@ defaults = {
inherit email; dnsProvider = "pdns"; credentialsFile = config.age.secrets.acme.path; - reloadServices = [ "caddy" ]; validMinDays = 32; }; acceptTerms = true;
@@ -578,55 +576,13 @@ group = "redis-website";
reloadServices = [ "redis-website" ]; }; }; - users.groups.acme.members = [ - "caddy" - ]; services.caddy = { - enable = true; - group = "caddy"; - environmentFile = config.age.secrets.caddy.path; - package = pkgs.nur.repos.xyenon.caddy.withPlugins { - plugins = [ - "github.com/caddyserver/cache-handler@v0.16.0" - "github.com/mholt/caddy-l4@v0.0.0-20260212155620-dd12cc413469" - "github.com/tailscale/caddy-tailscale@v0.0.0-20260106222316-bb080c4414ac" - ]; - hash = "sha256-A+wDNJijfD1pnOePXCVMXYzRNxf4Fmpbq2rJG+FMstM="; - }; - globalConfig = '' - cache - servers { - listener_wrappers { - layer4 { - @ssh ssh - route @ssh { - proxy ${net-ip4}:22 - } - route - } - tls - } - } - tailscale { - tags tag:app - } - ''; virtualHosts = let inherit (import ../../lib/caddy.nix { inherit lib; }) security-headers; in { - "http://" = { - # Needed for HTTP->HTTPS servers - }; - "${hostname}.${domain}" = { - serverAliases = [ "https://" ]; - extraConfig = '' - respond * 204 - ${security-headers { }} - ''; - }; "pdns.${domain}" = { extraConfig = '' log {
@@ -805,10 +761,6 @@ '';
}; }; }; - systemd.services.caddy.serviceConfig = { - UMask = "007"; - }; - services.open-webui = { enable = true; environment = {
@@ -934,19 +886,6 @@ TRUST_PROXY = true;
}; }; - users.groups.webservice = { - members = [ - "caddy" - ]; - }; - systemd.tmpfiles.rules = [ - # setgid bit (2) - # sticky bit (4) - "d /run/web/ 6770 caddy webservice -" - ]; - systemd.services.caddy.serviceConfig = { - ReadWritePaths = [ "/run/web" ]; - }; systemd.services.readeck.serviceConfig = { SupplementaryGroups = [ "webservice" ]; };