A feature-complete Web UI for Headscale
Go to file
2024-11-07 13:08:43 -05:00
.github/workflows
app fix: potentially catch undefined bearer errors 2024-11-07 13:08:43 -05:00
assets
docs docs: better explain the native integration 2024-11-06 15:18:21 -05:00
patches feat: switch back to codemirror with jsonc support 2024-10-22 00:41:44 -04:00
public
test feat(TALE-30): add support for new DNS configs 2024-08-22 16:55:05 -04:00
.dockerignore
.env.example
.gitignore
CHANGELOG.md chore: v0.3.3 2024-10-28 15:10:20 -04:00
compose.yaml chore: use beta2 on the dev env 2024-08-24 10:19:07 -04:00
Dockerfile fix: handle non-prefixed routes on the production server 2024-11-06 14:29:04 -05:00
LICENSE
package.json feat: use all native node deps for the server 2024-11-04 22:05:46 -05:00
pnpm-lock.yaml feat: use all native node deps for the server 2024-11-04 22:05:46 -05:00
postcss.config.js
README.md
server.mjs fix: handle non-prefixed routes on the production server 2024-11-06 14:29:04 -05:00
tailwind.config.ts
tsconfig.json
vite.config.ts fix: use correct vite config in dev 2024-11-06 15:57:27 -05:00

Headplane

An advanced UI for juanfont/headscale

Preview

Headscale is a self-hosted version of the Tailscale control server, however, it currently lacks a first-party web UI. Headplane aims to solve this issue by providing a GUI that can deeply integrate with the Headscale server. It's able to replicate nearly all of the functions of the official Tailscale SaaS UI, including:

  • Machine/Node expiry, network routing, name, and owner management
  • Access Control List (ACL) and tagging configuration
  • Support for OpenID Connect (OIDC) as a login provider
  • DNS and safe Headscale configuration management

Deployment

For more configuration options, refer to the Configuration guide.

For fully-featured deployments, see the Advanced Deployment guide. This includes automatic management of ACLs, DNS settings, and Headscale configuration. This is the closest experience to the Tailscale UI that can be achieved with Headscale and Headplane. If you aren't sure which one to pick, we recommend this.

If your environment is not able to support the advanced deployment, you can still use the basic deployment. For basic deployments, see the Basic Deployment guide. It does not include automatic management of ACLs, DNS settings, or the Headscale configuration, instead requiring manual editing and reloading when making changes.

Contributing

If you would like to contribute, please install a relatively modern version of Node.js and PNPM. Clone this repository, run pnpm install, and then run pnpm dev to start the development server.

Copyright (c) 2024 Aarnav Tale