Skip to content

Coordination server (HCS)

The coordination server (HCS) connects zones via a mesh VPN and hosts shared services. It is a small public server (a VPS is sufficient).

Coordination is enabled and the host is declared with profile: hcs:

etc/config.yaml
network:
coordination:
enable: true
hostname: "hcs"
domain: "headscale" # → headscale.domain.tld
hosts:
- hostname: "hcs"
name: "Serveur de coordination"
profile: "hcs"
ipv4:
external: "203.0.113.10" # IP publique du VPS
internal: "100.64.0.2" # IP tailnet (après enrôlement)
services:
headscale: # coordination du VPN
idm: # identités (Kanidm)
vaultwarden: # coffre-fort

Installation follows the same procedure as a gateway (just install / configure / apply). just configure also enrolls the HCS on its own tailnet : then report its tailnet address in the declaration above.

A service marked global: true is exposed on the HCS with a public DNS (<name>.domain.tld): it is reachable from anywhere, including the Internet.

services:
forgejo:
domain: "git"
global: true # → https://git.domain.tld