OrbStack 라이선스 만료로 Mac mini Docker 서비스를 GPU 서버로 통합. nginx → Caddy 전환, 12개 서브도메인 자동 HTTPS, fail2ban Caddy JSON 연동. 주요 변경: - home-caddy: Caddy 리버스 프록시 (Let's Encrypt 자동 HTTPS) - home-fail2ban: Caddy JSON 로그 기반 보안 모니터링 - home-ddns: Cloudflare DDNS (API 키 .env 분리) - gpu-hub-api/web: AI 백엔드 라우터 + 웹 UI (gpu-services에서 이전) - AI 런타임(Ollama) 내부망 전용, 외부는 gpu-hub 인증 게이트웨이 경유 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
69 lines
2.4 KiB
Markdown
69 lines
2.4 KiB
Markdown
# home-gateway
|
|
|
|
홈 네트워크 통합 게이트웨이. GPU 서버(192.168.1.186)에서 운영.
|
|
|
|
## 구성
|
|
|
|
| 컨테이너 | 역할 |
|
|
|----------|------|
|
|
| home-caddy | Caddy 리버스 프록시 (80/443, 자동 HTTPS) |
|
|
| home-fail2ban | Caddy JSON 로그 기반 보안 모니터링 |
|
|
| home-ddns-vpn | Cloudflare DDNS (vpn.hyungi.net) |
|
|
| home-ddns-mail | Cloudflare DDNS (mail.hyungi.net) |
|
|
| gpu-hub-api | AI 백엔드 라우터 (인증 게이트웨이) |
|
|
| gpu-hub-web | AI 허브 웹 UI |
|
|
|
|
## 라우팅 대상
|
|
|
|
### GPU 서버 (로컬)
|
|
- `komga.hyungi.net` → :25600
|
|
- `document.hyungi.net` → :8080 (Document Server 내부 Caddy)
|
|
- `ai.hyungi.net` → gpu-hub-api (인증된 외부 AI 접근)
|
|
|
|
### NAS (192.168.1.227)
|
|
- `ds1525.hyungi.net` → :5000 (DSM)
|
|
- `webdav.hyungi.net` → :5006 (WebDAV)
|
|
- `git.hyungi.net` → :10300 (Gitea)
|
|
- `vault.hyungi.net` → :8443 (Vaultwarden)
|
|
- `link.hyungi.net` → :10002 (Synology Drive)
|
|
- `mailplus.hyungi.net` → :21680 (MailPlus)
|
|
- `contacts.hyungi.net` → :25555 (Contacts)
|
|
- `calendar.hyungi.net` → :20002 (Calendar)
|
|
- `note.hyungi.net` → :9350 (Note Station)
|
|
|
|
### Mac mini (192.168.1.122)
|
|
- `jellyfin.hyungi.net` → :8096
|
|
|
|
## AI 접근 정책
|
|
- Ollama/AI 런타임: 내부망 전용 (127.0.0.1:11434)
|
|
- 외부 AI: gpu-hub-api 인증 게이트웨이를 통해서만 접근
|
|
- `gpu.hyungi.net`: 폐기 (내부망/Tailscale 전용)
|
|
|
|
## 디렉토리 구조
|
|
```
|
|
home-gateway/
|
|
├── docker-compose.yml
|
|
├── backends.json # gpu-hub AI 백엔드 설정
|
|
├── caddy/
|
|
│ ├── Caddyfile # 리버스 프록시 설정 (12개 서브도메인)
|
|
│ └── logs/ # Caddy JSON 로그 (fail2ban 연동)
|
|
├── fail2ban/
|
|
│ ├── jail.local
|
|
│ └── data/filter.d/ # Caddy용 커스텀 필터
|
|
├── ddns/
|
|
│ └── .env # Cloudflare API 키
|
|
├── hub-api/ # GPU Hub FastAPI 백엔드
|
|
└── hub-web/ # GPU Hub React 프론트엔드
|
|
```
|
|
|
|
## 관련 독립 서비스 (별도 compose)
|
|
- `~/qdrant/` — Qdrant 벡터 DB (127.0.0.1:6333)
|
|
- `~/ollama/` — Ollama GPU 추론 (127.0.0.1:11434)
|
|
|
|
## 마이그레이션 이력
|
|
- 2026-04-05: Mac mini (OrbStack) → GPU 서버 전면 이전
|
|
- nginx → Caddy 통합
|
|
- Let's Encrypt 수동 관리 → Caddy 자동 HTTPS
|
|
- Cloudflare DDNS API 키 .env 분리
|
|
- fail2ban nginx 필터 → Caddy JSON 필터 전환
|