# Headscale with Headscale Admin UI ## What is it? Headscale is an admin management server for tailscale services. Headscale-Admin is the UI interface for Headscale. This Docker compose sets up the above two things for you. ## Pre-requisites Create a DNS entry on your cloudflare (or whatever DNS you use). For example ```https://tailscale.YOURDOMAIN.com``` ## Setup - Copy the compose.yml into portainer or dockge or whatever compose manager you use, and run. - Enter the following command to make an API key within headscale: ```docker exec headscale headscale apikeys create --expiration 90d``` You can change the expiration limit if you want. Copy the resulting API key. - Now go to ```https://tailscale.YOURDOMAIN.com/admin``` This will open the UI page of Headscale Admin. - Leave the API URL blank, and fill in the API KEY you copied earlier and proceed. - Refresh the page or go to ```https://tailscale.YOURDOMAIN.com/admin``` again to see all the settings now. - Create your first user in the Users page. - You can now add nodes and stuff. ## Node Setup - Go to https://tailscale.com and download and install the client for your device. - Then follow the instructions provided in this link to connect the client node to your custom headscale server: https://tailscale.com/kb/1507/custom-control-server - You can use the UI at ```https://tailscale.YOURDOMAIN.com/admin``` to create a node, in the Nodes page where you can add the device key directly, to authorize your client device. - If you want to be able to use the network of a certain node like a VPN, make sure you setup that client as an exit node. Then any other nodes can connect to the network of this node. More info here: https://tailscale.com/kb/1103/exit-nodes