synix/docs/modules/nixos/headplane.md
sid 95a533c876
All checks were successful
Deploy docs / build-and-deploy (push) Successful in 3s
initial commit
2026-02-23 20:34:35 +01:00

1.3 KiB

Headplane

A feature-complete Web UI for Headscale.

View the synix NixOS module on Forgejo.

References

Sops

Provide the following entries to your secrets.yaml:

Replace abc123 with your actual secrets

headplane:
    cookie_secret: abc123
    agent_pre_authkey: abc123

Generate your cookie secret with:

nix-shell -p openssl --run "openssl rand -hex 16"

Generate your agent pre-authkey with:

sudo headscale users create headplane-agent
sudo headscale users list # get headplane-agent user id
sudo headscale preauthkeys create --expiration 99y --reusable --user <HEADPLANE-AGENT-ID>

Setup

Set a CNAME record for your Headplane subdomain (headplane by default) pointing to your domain.

Config

# flake.nix
headplane.url = "github:tale/headplane";
headplane.inputs.nixpkgs.follows = "nixpkgs";
# configuration.nix
{
  imports = [ inputs.synix.nixosModules.headplane ];

  services.headplane = {
    enable = true;
  };
}

Usage

Create a Headscale API key:

sudo headscale apikeys create

Visit the admin login page: https://sub.domain.tld/admin/login