A simple Headscale policy editor built with Monaco Editor, deployed as a tsnet service
- tsnet integration – Runs as a Tailscale-connected service with policy-enforced access control
- JSON Schema validation – Typed policy to accelerate writing and help catch potential errors
- Headscale Unix socket support – Connects directly to Headscale without requiring API keys
Note
Make sure the headscale-socket
volume exists and is mounted to Headscale’s /var/run/headscale
directory.
docker run -it -v headscale-socket:/var/run/headscale:ro -v headscale-policy-editor-data:/data:rw ghcr.io/rickli-cloud/headscale-policy-editor:unstable serve --control-url https://headscale.example.com
latest
: Latest stable releasex.x.x
: Specific release versionsx.x.x-pre
: Pre-release versions (potentially unstable)unstable
: Built on every push to the main branch