📚 Update documentation with Headplane UI access and configuration
- Update INSTALLATION_GUIDE.md: * Add Headplane configuration section with proper config.yaml * Update docker-compose.yml example with simplified environment variables * Add Headplane login instructions and API key information * Update troubleshooting section for cookie_secret validation errors - Update CLIENT_CONNECTION_TEST.md: * Add Headplane web UI access information * Include external access URL (192.168.0.151:3000/admin/) * Add login credentials and API key details - Update start.sh: * Include Headplane UI URLs in installation summary * Add external access information for network environments All documentation now reflects the working Headplane UI configuration and provides complete setup instructions for both local and external access. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
3c6723bcde
commit
6e8a7b81fb
@ -291,5 +291,11 @@ Headscale 서버와 Tailscale 클라이언트 간의 연결이 완벽하게 성
|
||||
- ✅ IP 주소 자동 할당 성공
|
||||
- ✅ 실시간 통신 확인
|
||||
- ✅ Headscale 관리 인터페이스 정상 동작
|
||||
- ✅ Headplane 웹 UI 외부 접속 성공
|
||||
|
||||
### 🌐 완전한 관리 환경 구축
|
||||
- **Headscale API**: http://localhost:8070 (명령줄 관리)
|
||||
- **Headplane UI**: http://192.168.0.151:3000/admin/ (웹 관리)
|
||||
- **로그인 API Key**: `8qRr1IB.tV95CmA0fLaCiGGIgBfeoN9daHceFkzI`
|
||||
|
||||
이제 **Tailscale을 완전히 대체**할 수 있는 자체 호스팅 VPN 솔루션이 구축되었습니다!
|
||||
@ -73,15 +73,8 @@ services:
|
||||
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
|
||||
- HEADSCALE_API_KEY=${HEADSCALE_API_KEY}
|
||||
volumes:
|
||||
- ./headplane-config:/etc/headplane
|
||||
ports:
|
||||
@ -167,7 +160,34 @@ oidc:
|
||||
allowed_users: []
|
||||
```
|
||||
|
||||
### 4단계: 환경변수 설정
|
||||
### 4단계: Headplane 설정 파일
|
||||
|
||||
#### headplane-config/config.yaml
|
||||
```yaml
|
||||
headscale:
|
||||
url: http://headscale:8080
|
||||
api_key: YOUR_API_KEY_HERE # 자동 생성됨
|
||||
config_strict: false
|
||||
|
||||
server:
|
||||
host: 0.0.0.0
|
||||
port: 3000
|
||||
cookie_secret: headscale-ui-secret-32-chars-key # 정확히 32자
|
||||
cookie_secure: false
|
||||
|
||||
settings:
|
||||
title: "Headscale 관리 패널"
|
||||
favicon_url: ""
|
||||
custom_css: ""
|
||||
```
|
||||
|
||||
**중요 설정사항:**
|
||||
- `cookie_secret`: 정확히 32자여야 함 (설정 검증 오류 방지)
|
||||
- `config_strict: false`: 설정 검증 완화
|
||||
- `api_key`: 설치 시 자동 생성되어 교체됨
|
||||
- 설정 파일은 환경변수보다 우선순위가 높음
|
||||
|
||||
### 5단계: 환경변수 설정
|
||||
|
||||
#### .env.example
|
||||
```bash
|
||||
@ -285,10 +305,14 @@ lsof -i :8080
|
||||
|
||||
### Headplane 설정 파일 문제
|
||||
```bash
|
||||
# 빈 설정 파일 생성
|
||||
echo "# Minimal config file for Headplane" > headplane-config/config.yaml
|
||||
# cookie_secret 길이 오류 시 (정확히 32자 필요)
|
||||
echo "headscale-ui-secret-32-chars-key" | wc -c # 32자 확인
|
||||
|
||||
# 환경변수 우선 사용 설정
|
||||
# 설정 파일 재검증
|
||||
docker-compose logs headplane --tail 10
|
||||
|
||||
# 컨테이너 재시작으로 설정 재로드
|
||||
docker-compose restart headplane
|
||||
```
|
||||
|
||||
### 헬스체크 실패
|
||||
@ -301,13 +325,19 @@ echo "# Minimal config file for Headplane" > headplane-config/config.yaml
|
||||
|
||||
### 접속 정보
|
||||
- **Headscale API**: http://localhost:8070
|
||||
- **Headplane UI**: http://localhost:3000 (설정 중)
|
||||
- **Headplane UI**: http://localhost:3000/admin/ (로그인 페이지)
|
||||
- **외부 접속**: http://192.168.0.151:3000/admin/ (네트워크 설정에 따라)
|
||||
- **메트릭스**: http://localhost:9090
|
||||
|
||||
### 생성된 정보
|
||||
- **사용자**: myuser (ID: 1)
|
||||
- **API 키**: 자동 생성됨
|
||||
- **Pre-auth 키**: 24시간 유효, 재사용 가능
|
||||
- **API 키**: 8qRr1IB.tV95CmA0fLaCiGGIgBfeoN9daHceFkzI (자동 생성됨)
|
||||
- **Pre-auth 키**: fc4f2dc55ee00c5352823d156129b9ce2df4db02f1d76a21 (24시간 유효, 재사용 가능)
|
||||
|
||||
### 🔑 Headplane 로그인
|
||||
1. 브라우저에서 http://localhost:3000/admin/ 또는 http://192.168.0.151:3000/admin/ 접속
|
||||
2. **API Key** 필드에 입력: `8qRr1IB.tV95CmA0fLaCiGGIgBfeoN9daHceFkzI`
|
||||
3. **Sign In** 버튼 클릭
|
||||
|
||||
### 네트워크 설정
|
||||
- **IPv4**: 100.64.0.0/10
|
||||
|
||||
3
start.sh
3
start.sh
@ -68,7 +68,8 @@ echo "🎉 설치 완료!"
|
||||
echo ""
|
||||
echo "📋 접속 정보:"
|
||||
echo " - Headscale API: http://localhost:8070"
|
||||
echo " - Headplane UI: http://localhost:3000"
|
||||
echo " - Headplane UI: http://localhost:3000/admin/"
|
||||
echo " - 외부 접속: http://192.168.0.151:3000/admin/"
|
||||
echo " - API 키: $API_KEY"
|
||||
echo ""
|
||||
echo "📖 다음 단계:"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user