A feature-complete Web UI for Headscale
Go to file
2025-01-18 07:52:04 +00:00
.github/workflows fix: set edge tag to main 2024-06-02 16:52:29 -04:00
agent fix: require auth for agent ws 2025-01-15 15:14:37 +05:30
app fix: Reusable Pre-Auth Keys no longer show expired when used (#88) 2025-01-18 07:48:50 +00:00
assets feat: update images 2024-06-03 23:33:38 -04:00
docs feat: rework oidc to be more resilient 2025-01-10 13:55:24 +05:30
patches chore: remove unused patch 2024-12-06 19:05:15 -05:00
public chore: initial commit from create-remix 2024-03-25 17:50:10 -04:00
server fix: handle prod config for server correctly 2025-01-18 07:37:51 +00:00
test feat(TALE-30): add support for new DNS configs 2024-08-22 16:55:05 -04:00
.dockerignore feat: add docker build 2024-03-26 10:10:34 -04:00
.env.example docs: solidify DOCKER_SOCK and ROOT_API_KEY usage 2024-05-22 12:43:42 -04:00
.gitignore chore: switch to react-router v7 2025-01-06 08:19:40 +05:30
agent.Dockerfile feat: containerize agent 2025-01-15 10:17:30 +05:30
biome.json fix: resolve type errors and lint components/routes 2025-01-06 08:19:41 +05:30
CHANGELOG.md chore: v0.4.0 2025-01-18 07:52:04 +00:00
compose.yaml chore: use beta2 on the dev env 2024-08-24 10:19:07 -04:00
Dockerfile fix: we need git in docker 2024-12-05 11:35:41 -05:00
go.mod feat: create initial agent for localapi 2024-12-30 13:48:49 +05:30
go.sum feat: create initial agent for localapi 2024-12-30 13:48:49 +05:30
LICENSE chore: add license and readme again 2024-03-26 10:24:28 -04:00
package.json chore: switch to vite for server dev 2025-01-17 08:33:22 +00:00
pnpm-lock.yaml chore: switch to vite for server dev 2025-01-17 08:33:22 +00:00
react-router.config.ts chore: switch to vite for server dev 2025-01-17 08:33:22 +00:00
README.md feat: update images 2024-06-03 23:33:38 -04:00
tailwind.config.ts fix: blur footer URL for screenshots 2025-01-06 08:31:49 +05:30
tsconfig.json chore: switch to vite for server dev 2025-01-17 08:33:22 +00:00
vite.config.ts feat: rework oidc to be more resilient 2025-01-10 13:55:24 +05:30

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