Usage
Docker quickstart
HEADSCALE_API_KEY=$(headscale apikeys create --expiration 8760h)
docker run -d \
-e HEADSCALE_ADDR=headscale:50443 \
-e HEADSCALE_API_KEY="$HEADSCALE_API_KEY" \
-e OAUTH_CLIENT_ID=my-operator \
-e OAUTH_CLIENT_SECRET=my-secret \
-e OAUTH_HMAC_SECRET=a-32-byte-random-secret-here!!! \
-p 8080:8080 \
ghcr.io/alam0rt/headtotails:latest
Binary quickstart
export HEADSCALE_ADDR=127.0.0.1:50443
export HEADSCALE_API_KEY=hskey-api-...
export OAUTH_CLIENT_ID=my-operator
export OAUTH_CLIENT_SECRET=my-secret
export OAUTH_HMAC_SECRET=a-32-byte-random-secret-here!!!
./headtotails
Basic API checks
# Get token
curl -s -X POST http://localhost:8080/oauth/token \
-d 'grant_type=client_credentials&client_id=my-operator&client_secret=my-secret'
# List devices
curl -s -H "Authorization: Bearer <token>" \
http://localhost:8080/api/v2/tailnet/-/devices