# Headscale Headscale, Headplane, and a separate web administration UI on Docker. Kubernetes only provides routes to the Docker host. Update the addresses in `k8s/routing/external-service.yaml` if the host moves. Copy `config/headscale.yaml.example`, `config/headplane.yaml.example`, and `config/policy.json.example` to their names without `.example`. Set the public server URL, DNS settings, Headplane cookie secret, and Headscale public URL. The example URLs are placeholders. Compose publishes Headscale on 18080, its metrics port on 19090, Headplane on 13000, and the other UI on 10080. The data volumes store the Headscale database, keys, and Headplane state. The embedded DERP configuration needs reachable addresses; Compose does not publish its UDP 3478 listener. See the [repository README](../README.md) for deployment selection.