# 로빙 서버 인프라 구성도 ## 서버 구성 ### 51123 서버 (192.168.219.45) **역할**: 프록시, CI/CD, 인증 ``` ┌─────────────────────────────────────────────────────────┐ │ 51123 서버 │ │ │ │ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │ │ │ nginx │ │ Gitea │ │ skill-email │ │ │ │ (80/443) │ │ (3000) │ │ (8501) │ │ │ └─────┬───────┘ └──────┬───────┘ └───────────────┘ │ │ │ │ │ │ │ ┌───────┴──────┐ │ │ │ │ Actions │ │ │ │ │ Runner │ │ │ │ └──────────────┘ │ └────────┼────────────────────────────────────────────────┘ │ │ 프록시 ▼ ┌─────────────────────────────────────────────────────────┐ │ 51124 서버 │ │ (192.168.219.52) │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │ │ │ rb8001 │ │ rb10508 │ │ rb10408 │ │ │ │ (8001) │ │ (10508) │ │ (10408) │ │ │ └────────────┘ └────────────┘ └────────────────┘ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ PostgreSQL Database │ │ │ │ (5432) │ │ │ └────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ``` ## 포트 매핑 ### 51123 서버 | 서비스 | 내부 포트 | 외부 접근 | 용도 | |--------|-----------|-----------|------| | nginx | 80/443 | ro-being.com | 리버스 프록시 | | Gitea | 3000 | git.ro-being.com | Git 저장소 | | frontend-base | 8000 | /admin/* | 관리자 대시보드 | | skill-email | 8501 | /skill-email/* | 이메일 스킬 | ### 51124 서버 | 서비스 | 포트 | nginx 경로 | 용도 | |--------|------|------------|------| | rb8001 | 8001 | /rb8001/* | 메인 로빙 서비스 | | rb10508 | 10508 | /rb10508/* | 로빙 테스트 | | rb10408 | 10408 | /rb10408/* | 로빙 서비스 | ## 배포 플로우 ``` 개발자 PC │ ├─── git push ──→ Gitea (51123) │ │ │ ├─── webhook ──→ Actions Runner │ │ │ │ │ ├─── Build │ │ ├─── Test │ │ └─── Deploy │ │ │ ▼ │ SSH (51124) │ │ └─── https://ro-being.com ←─── nginx ←────────── Services ``` ## 네트워크 구성 - **내부 네트워크**: 172.17.0.0/16 (Docker bridge) - **서버 간 통신**: SSH (포트 51124) - **외부 도메인**: ro-being.com (HTTPS) ## 보안 설정 1. **방화벽** - 외부: 80, 443만 개방 - 내부: 필요한 포트만 개방 2. **인증** - Gitea: 개인 토큰 - Admin API: JWT 토큰 - SSH: 키 기반 인증 3. **SSL/TLS** - Let's Encrypt 인증서 - 자동 갱신 설정