Home Catalog Headscale
Utilities

Headscale

An open source, self-hosted implementation of the Tailscale control server, providing a private network for your devices.

ARM64 & AMD64
Docker & Rootless Podman
100% Self-Hosted (Zero Lock-in)
RAM Profile: Low
Default Port: Port 9080

Why this Configuration?

Quick Start (Standalone Docker Compose)

The snippet below is immediately ready to run in any standard Docker or Podman environment:

services:
  headscale:
    image: "headscale/headscale:latest"
    container_name: njorddeploy-headscale
    command: serve
    ports:
      - "9080:8080"
    volumes:
      - "./data/headscale/data:/var/lib/headscale"
      - "data_root/headscale/config.yaml:/etc/headscale/config.yaml:ro"
    environment:
      - "HEADSCALE_CONFIG=/etc/headscale/config.yaml"
      - "TZ=Etc/UTC"
      - "HEADSCALE_SERVER_URL=http://127.0.0.1:9080"
    networks:
      - njorddeploy_net
    user: "0:0"
networks:
  njorddeploy_net:

Start the service directly via the command line: docker compose up -d

Configuration & Environment Variables

Key configuration parameters and defaults derived from the NjordDeploy component template:

Variable Default Value Description
HEADSCALE_WEB_PORT 9080 The external port for Headscale's web UI and API.
HOST_IP 127.0.0.1 The IP address or domain name where Headscale is externally accessible. Used for the server_url in the configuration.
TZ Etc/UTC Specify the timezone for the container (e.g., Europe/London, America/New_York).

Ecosystem & Enterprise Integration

Effortless Management with NjordDeploy

Deploy, monitor, and update this service with a single click on your own hardware via the NjordDeploy Configurator.