headscale-admin:你的 headscale 专属管理管家!
headscale-admin
是一个开源的 Tailscale 管理面板,它提供了一个直观的用户界面来管理你的 Headscale 网络。可以让我们更加方便地管理 Tailscale 网络,例如添加、删除和查看节点等。
1. 部署服务
可以根据自己的需要进行容器的删减和调整即可。
- 服务启动配置文件
确保访问 https://headscale.escape.cloud/api/api/v1/apikey
不会报错,就表示部署完成了。
services:
# https://hub.docker.com/r/tailscale/tailscale
tailscale:
restart: on-failure
container_name: tailscale_agent
image: tailscale/tailscale:v1.80.0
environment:
- TS_HOSTNAME=tailscale-docker
- TS_AUTH_ONCE=true
- TS_STATE_DIR=/data
volumes:
- "tailscale:/var/run/tailscale"
- "tailscale_data:/data"
networks:
- system_network
# https://hub.docker.com/r/headscale/headscal
headscale:
restart: on-failure
container_name: headscale
image: headscale/headscale:v0.25.0
ports:
- 8080:8080
- 9090:9090
command: serve
volumes:
- "./headscale_config:/etc/headscale/"
- "headscale_data:/var/lib/headscale"
networks:
- system_network
# https://github.com/sparanoid/docker-derp
derp:
restart: always
container_name: headscale_derp
image: sparanoid/derp:latest
init: true
ports:
- 80:80
- 443:443
- 3478:3478/udp
command: sh -c "
derper \
-hostname example.com \
-certdir /app/certs \
-certmode manual \
-verify-clients true"
volumes:
- ./ssl/fullchain.cer:/app/certs/derp.example.com.crt
- ./ssl/example.com.key:/app/certs/derp.example.com.key
- /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
depends_on:
tailscale:
condition: service_started
networks:
- system_network
# https://github.com/GoodiesHQ/headscale-admin
headscale-admin:
restart: always
container_name: headscale-admin
image: goodieshq/headscale-admin:0.25
ports:
- "8282:80"
environment:
- HEADSCALE_URL=http://headscale:8080
- HEADSCALE_API_KEY=your_key
networks:
- system_network
volumes:
tailscale:
tailscale_data:
headscale_data:
networks:
system_network:
- 启动服务并查看状态
# 启动服务
$ docker compose up -d
# 查看日志
$ docker compose logs -f
# 检查配置
docker exec -it headscale headscale configtest
2. 管理界面
可以通过 UI 界面来管理 Headscale 网络。
Headscale 公网域名或 IP 地址后面,跟上路径 /admin
即可打开可视化界面。
登录 headscale-admin
需要通过 API Key 来接入 Headscale,所以在使用之前我们需要先创建一个 API key。然后,再登录页面输入 URL
和 API Key
,点击 Save
即可。
# headscale容器里面执行
$ docker exec -it headscale headscale apikeys create
$ docker exec -it headscale headscale apikeys create --expiration 180d
3. 参考文档
送人玫瑰,手有余香!