neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
A simple, self-hosted way to deploy and manage Headscale — with a web UI, authentication, HTTPS, DNS, ACLs, backups, and more.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Headscale, with everything around it.
A deployment and management layer for Headscale , the open source Tailscale control server:
installer, HTTPS, accounts and sign-in, a Tailscale-style web console and backups. One command to install.
Security notice. This is security-sensitive networking software, and a
young project (September 2026) with one maintainer. AI-assisted development
was used extensively and there has been no independent security audit.
Review and harden your deployment before exposing it to the Internet — see
SECURITY.md, the hardening guide and
AI usage.README 전문 보기 ↗[!IMPORTANT] Headscale Easy 1.x is discontinued as of 2.0.0 (6 October 2026): no more fixes, security fixes included. There is no in-place upgrade; install 2.0 as a new deployment. See 1.x is discontinued.
[!WARNING] Security notice. This is security-sensitive networking software, and a young project (September 2026) with one maintainer. AI-assisted development was used extensively and there has been no independent security audit. Review and harden your deployment before exposing it to the Internet — see SECURITY.md, the hardening guide and AI usage.
Headscale works well on its own, and Headscale Easy runs the official, unmodified Headscale binary — it is not a fork or a replacement. What takes time is the glue around it when you want a complete self-hosted setup for several people:
auth + DNS + HTTPS + device management + backups = a weekend project
Headscale Easy packages that glue, in the spirit of wg-easy for WireGuard:
If you are happy running Headscale by hand, you do not need this project. More in Why Headscale Easy?, including the end-to-end workflow.
Headplane is an established, feature-complete web UI for an existing Headscale — a good choice if you already run Headscale. Headscale Easy installs and wires the whole stack (Headscale, HTTPS, local accounts with 2FA and invitations, backups) and includes its own console. See the detailed comparison.
/console: machines, users, DNS, access
controls, keys. Dark and light themes, works on phones.autogroup:self); admins manage everything.docker run and docker-compose.yml
for a Tailscale container (exit node, subnet routes, userspace mode, a
pinned Tailscale version), keeps the auth key in a separate .env, gives the
command to apply a changed option to a running container, and has a
troubleshooting dropdown with eleven common problems.headscale configtest and rolled back if Headscale refuses them.| Machines (light) | Machine details |
|---|---|
| Users | DNS |
| Access controls | Keys |
| Sign in | Add device |
| Add device, Docker tab | Docker troubleshooting and tips |
| Routes pending approval (light) | Machines (dark) |
You need a Linux host with Docker and the Compose plugin (v2.24 or newer) and, for real HTTPS, a domain pointing at it.
mkdir headscale-easy && cd headscale-easy
curl -fsSLO https://raw.githubusercontent.com/insanerask77/headscale-easy/main/compose.yaml
docker compose up -d
That is the whole install: one container, version 2.0 pinned in compose.yaml.
Then:
http://<your-server>/console/setup and enter the
one-time token (docker compose logs). Create the administrator, name the
tailnet, set the public address and HTTPS (Let's Encrypt needs a domain and
ports 80/443 open), choose the relay (DERP), sign-up mode and backups.https://your-domain/console.Prefer to answer in advance? Copy .env.example to .env (public
address, HTTPS, administrator) before docker compose up -d: every line is optional.
To update, change HSE_VERSION (or the tag in compose.yaml) and run
docker compose pull && docker compose up -d; your settings and data live in
volumes and are never touched.
tailscale up --login-server=https://your-domain
On phones and desktop apps, choose "Use an alternate server" / "Change server" and enter the same URL. The console's Add device page shows the exact steps for each OS.
Before production, go through the production and hardening guide: firewall, HTTPS, sign-in and two-factor, restricting the console, secrets, off-site backups and updates.
| Port | Protocol | Purpose |
|---|---|---|
| 80 / 443 | TCP | Web console, control plane, Let's Encrypt |
| 3478 | UDP | STUN for the embedded DERP relay (must be reachable) |
The simple install above is enough for most people. When you need more, each option
is a small add-on to the same Compose app: an external PostgreSQL, your own identity
provider (Authentik, Pocket ID, Keycloak, Google), a proxy in front, remote backups.
See Advanced configurations
and advanced/.
Without Compose, the same image runs with docker run -d --name headscale-easy -p 80:80 -p 443:443 -p 3478:3478/udp -v hse:/data ghcr.io/insanerask77/headscale-easy:2.0.0; the
all-in-one image page lists
the variables for a headless start.
┌──────────────── headscale-easy (one container) ────────────────┐
:80/:443 ────▶ │ caddy ──┬─ / ──▶ headscale (official binary, child proc) │
:3478/udp ───▶ │ └─ /console ──▶ console (Python) │
│ supervisor: starts and restarts the three, configtest, backups │
│ /data: headscale/ caddy/ console/ config/ backups/ │
└─────────────────────────────────────────────────────────────────┘
optional, outside: OIDC provider · PostgreSQL · front proxy · remote backup
Tailscale clients only talk to Headscale: the console is not in the data path, and devices keep working if it is stopped. There is no Docker socket: a small supervisor inside the container validates and restarts Headscale when the console asks. Everything lives on one domain, and the container runs as an unprivileged user with no added capability. Details in Architecture and resources.
Measured by CI on a freshly built image (details and method in Architecture and resources):
| Measured | CI limit | |
|---|---|---|
| Containers | 1 | — |
| Image size | 232 MB | 250 MB |
| RAM, idle | 71 MB | 100 MB |
| RAM, while a backup runs | 71 MB | 100 MB |
Headscale alone idles at about 20 MB: Caddy, the console, the supervisor and the backups add roughly 50 MB. An identity provider is optional and runs outside: use the one you already have.
📖 insanerask77.github.io/headscale-easy — English and Spanish.
Headscale Easy was built with extensive help from
Claude Code: it generated or modified a
significant part of the code, and helped with debugging, refactoring,
translations and documentation. The maintainer designed the project, reviewed,
tested and integrated every change, and is responsible for the code and the
final decisions. Commits it took part in carry a Co-Authored-By: Claude
trailer. Independent review is strongly recommended — see
AI_USAGE.md.
Headscale Easy is built and maintained in my spare time by Rafa Madolell. If it saves you time or money:
Thanks to everyone who has sent a fix or an improvement:
MIT © 2026 Rafa Madolell.
Built on the shoulders of Headscale, and Caddy. Icons from Lucide, font Inter — see third-party notices.
Headscale Easy is an independent project, not affiliated with or endorsed by Tailscale Inc. or the Headscale project. "Tailscale" is a trademark of Tailscale Inc.