From baf1408060597229ff3cf0082cf783cbe3ff064f Mon Sep 17 00:00:00 2001 From: Conrad Kramer Date: Fri, 3 Apr 2026 00:17:12 -0700 Subject: [PATCH] Add Tailnet landing page --- nixos/modules/burrow-headscale.nix | 134 ++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 1 deletion(-) diff --git a/nixos/modules/burrow-headscale.nix b/nixos/modules/burrow-headscale.nix index ad5ec68..98cf5ba 100644 --- a/nixos/modules/burrow-headscale.nix +++ b/nixos/modules/burrow-headscale.nix @@ -3,6 +3,131 @@ let cfg = config.services.burrow.headscale; policyFile = ./burrow-headscale-policy.hujson; + landingPage = pkgs.writeTextDir "index.html" '' + + + + + + Burrow Tailnet + + + +
+
Burrow Tailnet
+
+

Sign-in starts from your client, not this page.

+

+ ts.burrow.net is the Burrow Headscale control plane. Headscale does not provide a built-in web UI, + so browser authentication starts only after a Tailscale-compatible client initiates login. +

+
+
tailscale up --login-server https://ts.burrow.net
+ +
+ + + ''; in { options.services.burrow.headscale = { @@ -221,7 +346,14 @@ in services.caddy.virtualHosts."${cfg.domain}".extraConfig = '' encode gzip zstd - reverse_proxy 127.0.0.1:${toString cfg.port} + @root path / + handle @root { + root * ${landingPage} + file_server + } + handle { + reverse_proxy 127.0.0.1:${toString cfg.port} + } ''; }; }