Linux

Where Does Headscale Store Data and Config?

Headscale /var/lib/headscale data with SQLite database plus config.yaml on Linux.

Last updated

Headscale keeps nodes, users, routes and pre-auth keys in a SQLite database under /var/lib/headscale, driven by config.yaml. Lose the database and every node must re-register.

Config and database back up separately since only the database changes at runtime. Copy both with the service stopped for a portable control plane.

Where Headscale stores this, by platform

Linux
/var/lib/headscale

Holds db.sqlite with nodes, users and routes plus DERP relay state. Config lives at /etc/headscale/config.yaml. Stop headscale before copying the database. Nodes re-authenticate against restored keys without rejoining when DNS stays stable.

Frequently asked questions

How do I back up Headscale?

Copy /var/lib/headscale with the service stopped plus /etc/headscale/config.yaml. Restore the pair together on the same version.

Where is the Headscale config file?

At /etc/headscale/config.yaml with server URL, DERP and policy paths. Validate policy changes before reloading.

Notice an outdated path? Let us know.