headscale-tailscale-replace.../start.sh
시골약사 52cc779bca 🎉 Working Headscale Setup with Docker Complete
 주요 성과:
- 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>
2025-09-09 14:34:56 +09:00

87 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
echo "🚀 Headscale + Headplane 설치 시작..."
# 현재 디렉토리 확인
CURRENT_DIR=$(pwd)
echo "📁 현재 작업 디렉토리: $CURRENT_DIR"
# 필요한 파일들 확인
if [ ! -f "docker-compose.yml" ]; then
echo "❌ docker-compose.yml 파일이 없습니다. 올바른 디렉토리에서 실행해주세요."
exit 1
fi
if [ ! -f ".env.example" ]; then
echo "❌ .env.example 파일이 없습니다."
exit 1
fi
# .env 파일 생성
if [ ! -f ".env" ]; then
echo "📝 .env 파일 생성 중..."
cp .env.example .env
echo "✅ .env 파일이 생성되었습니다."
fi
# Docker 및 Docker Compose 설치 확인
if ! command -v docker &> /dev/null; then
echo "❌ Docker가 설치되지 않았습니다. Docker를 먼저 설치해주세요."
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose가 설치되지 않았습니다. Docker Compose를 먼저 설치해주세요."
exit 1
fi
echo "✅ Docker 환경 확인 완료"
# 컨테이너 시작
echo "📦 Headscale 컨테이너 시작..."
docker-compose up -d headscale
# Headscale이 시작될 때까지 대기
echo "⏳ Headscale 서비스 시작 대기 중..."
sleep 10
# API 키 생성
echo "🔑 API 키 생성..."
API_KEY=$(docker-compose exec -T headscale headscale apikeys create | grep -o 'hs_[a-zA-Z0-9]*')
if [ -z "$API_KEY" ]; then
echo "❌ API 키 생성 실패. 수동으로 생성해주세요:"
echo "docker-compose exec headscale headscale apikeys create"
exit 1
fi
echo "✅ API 키 생성 완료: $API_KEY"
# .env 파일 업데이트
sed -i "s/HEADSCALE_API_KEY=your_api_key_here/HEADSCALE_API_KEY=$API_KEY/" .env
echo "🌐 Headplane 웹 UI 시작..."
docker-compose up -d headplane
echo ""
echo "🎉 설치 완료!"
echo ""
echo "📋 접속 정보:"
echo " - Headscale API: http://localhost:8070"
echo " - Headplane UI: http://localhost:3000"
echo " - API 키: $API_KEY"
echo ""
echo "📖 다음 단계:"
echo " 1. 첫 번째 사용자 생성:"
echo " docker-compose exec headscale headscale users create myuser"
echo ""
echo " 2. Pre-auth 키 생성:"
echo " docker-compose exec headscale headscale preauthkeys create --user myuser --reusable --expiration 24h"
echo ""
echo " 3. 클라이언트 연결:"
echo " tailscale up --login-server=http://localhost:8070"
echo ""
echo "📊 상태 확인:"
echo " docker-compose ps"
echo " docker-compose logs -f"