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>
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→ :25600document.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 필터 전환
Description
Languages
Shell
100%