Initial commit: Headscale management scripts and configuration

- Add headscale binary and configuration files
- Include management scripts for API keys, nodes, and authentication
- Add Docker setup with docker-compose
- Include backup and restore functionality
- Add example scripts for creating API keys and pre-auth keys

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-03-24 10:08:28 +08:00
commit 1410ba6630
15 changed files with 744 additions and 0 deletions

55
Makefile Normal file
View File

@@ -0,0 +1,55 @@
# Makefile: 適用於 docker-compose 專案,自動取用當前資料夾為專案名
COMPOSE := docker-compose
COMPOSE_FILE := docker-compose.yml
PROJECT_NAME := $(notdir $(CURDIR)) # 依照當前資料夾自動命名
# 可選自訂 .env 變數(預設 docker-compose 自動載入)
# ENV_FILE := .env
.PHONY: help up down build restart logs ps exec clean prune
help:
@echo "🔧 Docker Compose Makefile 指令:"
@echo " make up - 啟動所有服務 (背景執行)"
@echo " make up-fg - 前景執行(方便除錯)"
@echo " make down - 停止並移除服務容器"
@echo " make build - 重新建構服務映像檔"
@echo " make restart - 重啟所有服務"
@echo " make logs - 查看服務日誌"
@echo " make ps - 顯示服務狀態"
@echo " make exec - 進入主要容器 shell"
@echo " make clean - 清理所有服務資料(含 volume"
@echo " make prune - 清除未使用的資源"
up:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up -d
up-fg:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up
down:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down
build:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) build
restart:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up -d
logs:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) logs -f --tail=100
ps:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) ps
exec:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) exec app sh
clean:
$(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down -v --remove-orphans
prune:
docker system prune -af --volumes