Thanks about the magic DNS. I’m going to add the base_domain to the UI.
I guess we need 2 lists, one for the nameservers and another one for the split DNS list.
Another way would be retesting headplane as it supports the DNS settings…
Is there another configuration setting that’s important to have in the UI?
I just added issuer, client id and client secret to the UI but there are more options. Maybe we need to configure the scope or enable pkce?
It’s possible to edit the config.yaml file and restart the services to apply the custom config.
It’s overwritten when the headscale-app is reconfigured from the UI.
I noticed that the config on the docs page had quotes around the URL, client id, and client secret, so I added them. No change–when I go to Tailscale on my client computer and add a new account on the new server, it immediately sends me to this web page:
2025-08-18T16:24:48-04:00 [1:headscale1:headscale-app] 2025-08-18T20:24:48Z FTL home/runner/work/headscale/headscale/cmd/headscale/cli/serve.go:24 > Error initializing error="creating new headscale: creating OIDC provider from issuer config: Get \"https://authentik.familybrown.org/application/o/headscale/.well-known/openid-configuration\": dial tcp [2605:a142:2073:5369::1]:443: connect: connection refused"
Interesting–that is an IPv6 address that belongs to the server, and I do have an AAAA record pointing to it, but it seems NS8 is refusing connections to that address.
That seems to have done the trick. I’m already signed in to Authentik on this browser, so when I went to add the account to Tailscale, it showed me this page:
The only remaining question for me on the OIDC configuration is what (if anything) I should enter for the Redirect URI in Authentik. Right now I’ve set it to a Regex of .*, which would allow any redirect URI, but I’m thinking it should probably be narrower than that–but I don’t see anything in the Headscale docs to answer that question. Maybe I should try just leaving it blank and see what happens.
Looks like that page has seen significant updates since its stable version, which I’d linked to above, and the development branch does indeed answer the question–thanks.
That version of the page also makes it look like PKCE is recommended. Perhaps add a toggle for that?
It took a while, but I’ve moved most of my devices over to this Headscale installation. It’s working just fine. SSO via Authentik works, magic DNS works, split-brain DNS works. Now I can drop, or repurpose, one of my VPSs. Thanks!