<Home>
← All templates
application / DEPLOYMENT PRESET

Headscale

Self-hosted control server for Tailscale clients: a private WireGuard network for your own devices and apps. It does not protect the Hakopod dashboard.

Before you start

  • This VPN is for your own devices and apps. It does not protect the Hakopod dashboard or API; that is the separate built-in management VPN.
  • Needs a stable public HTTPS site URL. Tailscale clients log in to it, and changing it means logging every device in again.
  • Devices run the normal Tailscale client. Traffic that cannot go direct is relayed, still encrypted, through Tailscale's public DERP servers; this preset runs no relay of its own.
  • No access policy is set, so every device can reach every other device. Add one before sharing the server.
  • Manage users and login keys from the service terminal with a JSON command such as ["headscale", "users", "list"]; the image has no shell. Back up the volume off-node.

This preset needs a public site URL. Set the correct origin before starting the application.

Use this preset

  1. Open the Catalog in your own Hakopod dashboard and select Headscale.
  2. Choose the project, environment, and application name. Set the required values and secret references.
  3. Review the generated configuration, resource requests, networking, and storage plan.
  4. Deploy, then inspect readiness and logs. Configure backups for persistent data before relying on the service.

Read the upstream setup documentation ↗

View native TOML and setup notes ↗

Pinned container image

docker.io/headscale/headscale:0.29.6@sha256:cabe84f0699913dbca9320f0883dca7565dd08df3c5be29edfabbebeff763966

The catalog pins this image for reproducibility. Review upstream updates and compatibility before changing it.