This project sets up Headscale with a web UI and Traefik reverse proxy using Docker Compose.
- Docker and Docker Compose installed
- A domain name pointing to your server
- Ports 80 and 443 open/forwarded to your server
- Clone the repo:
git clone https://github.com/DxMarch/homelab.git
cd homelab- Replace placeholders with your actual values. Oon linux you can run:
# Replace email in Traefik's docker-compose.yml
sed -i "s|__LE_EMAIL__|<your_email>|g" ./traefik/compose.yml
# Replace domain in Headscale's docker compose
sed -i "s|__HEADSCALE_DOMAIN__|<your_domain>|g" ./headscale/compose.yml
# Replace domain in Headscale's config
sed -i "s|__HEADSCALE_DOMAIN__|<your_domain>|g" ./headscale/config.yaml- Start the services:
# Start Traefik first (creates the network)
docker compose -f ./traefik/compose.yaml up -d
# Then start Headscale
docker compose -f ./headscale/compose.yaml up -d