✨ 주요 성과: - Headscale 서버 정상 작동 (포트 8070) - 포트 충돌 문제 해결 (8080 → 8070) - 최신 Headscale 설정 형식 적용 - 사용자 생성 및 Pre-auth 키 생성 성공 - Docker Compose 완전 설정 🔧 수정된 구성: - docker-compose.yml: 포트 매핑 및 헬스체크 개선 - config/config.yaml: 최신 DNS 및 Policy 설정 적용 - .env.example: 8070 포트로 업데이트 - README.md: 올바른 접속 정보 및 명령어 - start.sh: 향상된 설치 스크립트 📊 성공한 기능들: - ✅ Headscale API: http://localhost:8070 - ✅ 사용자 생성: myuser (ID: 1) - ✅ API 키 생성: 8qRr1IB.tV95CmA0fLaCiGGIgBfeoN9daHceFkzI - ✅ Pre-auth 키: fc4f2dc55ee00c5352823d156129b9ce2df4db02f1d76a21 - ✅ SQLite 데이터베이스 설정 🚧 진행 중: - Headplane UI 설정 (설정 파일 문제로 보류) - 클라이언트 연결 테스트 준비 완료 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.3 KiB
YAML
58 lines
1.3 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
headscale:
|
|
image: headscale/headscale:latest
|
|
container_name: headscale
|
|
restart: unless-stopped
|
|
command: serve
|
|
environment:
|
|
- TZ=Asia/Seoul
|
|
volumes:
|
|
- ./config:/etc/headscale
|
|
- ./data:/var/lib/headscale
|
|
- ./run:/var/run/headscale
|
|
ports:
|
|
- "8070:8080" # Headscale HTTP API (외부:내부)
|
|
- "9090:9090" # Metrics (optional)
|
|
networks:
|
|
- headscale-net
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "nc -z localhost 8080 || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
headplane:
|
|
image: ghcr.io/tale/headplane:latest
|
|
container_name: headplane
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Asia/Seoul
|
|
- HOST=0.0.0.0
|
|
- PORT=3000
|
|
- HEADSCALE_URL=http://headscale:8080
|
|
- ROOT_API_KEY=${HEADSCALE_API_KEY}
|
|
- HEADSCALE_INTEGRATION=docker
|
|
- HEADSCALE_CONTAINER=headscale
|
|
- COOKIE_SECRET=headscale-ui-secret-key-change-me
|
|
- COOKIE_SECURE=false
|
|
- DISABLE_API_KEY_LOGIN=false
|
|
volumes:
|
|
- ./headplane-config:/etc/headplane
|
|
ports:
|
|
- "3000:3000" # Headplane Web UI
|
|
depends_on:
|
|
- headscale
|
|
networks:
|
|
- headscale-net
|
|
|
|
networks:
|
|
headscale-net:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
headscale_config:
|
|
headscale_data:
|
|
headscale_run: |