linde: enable app hosting with dynamic tailscale hostnames
1 file changed, 8 insertions(+), 1 deletion(-)
changed files
M system/hosts/linde.nix → system/hosts/linde.nix
@@ -48,6 +48,7 @@ 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;@@ -279,6 +280,7 @@ "--advertise-exit-node" "--ssh" ]; useRoutingFeatures = "both"; + permitCertUid = config.services.caddy.user; }; services.mycal = {@@ -563,12 +565,14 @@ 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-20251111042133-1823cde2603c" + "github.com/tailscale/caddy-tailscale@v0.0.0-20251117033914-662ef34c64b1" ]; - hash = "sha256-lshM7iq7r+wY0ChtUc3FOHFXWweUM+hU6wBjFiokl+c="; + hash = "sha256-LM9Mxr6owZElcl7csX9WVl6mWLEvIDMRbSgyrJ+pI9s="; }; globalConfig = '' cache@@ -587,6 +591,9 @@ route } tls } + } + tailscale { + tags tag:app } ''; virtualHosts =