✨ 개선사항: - 자동 Git 관리 기능 제거 (setup-complete.sh 삭제) - start.sh에서 불필요한 자동화 제거 - README.md 정리 및 올바른 경로 수정 - 깔끔한 수동 설치 프로세스 완성 📝 수정된 파일들: - start.sh: 설치만 집중, Git 자동화 제거 - README.md: 올바른 파일 구조와 실행 방법 안내 - 환경변수 설정 가이드 추가 🚀 이제 실제 설치 테스트 준비 완료! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
87 lines
2.4 KiB
Bash
Executable File
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:8080"
|
|
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:8080"
|
|
echo ""
|
|
echo "📊 상태 확인:"
|
|
echo " docker-compose ps"
|
|
echo " docker-compose logs -f"
|