DOCS/_archive/docs/architecture/server-architecture.md
happybell80 0252dd1a7f fix: 51123 서버 IP 주소 업데이트 (성수 이전)
192.168.219.45 → 192.168.0.100 일괄 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 11:52:26 +09:00

114 lines
6.1 KiB
Markdown

# 로빙 서버 인프라 구성도
## 서버 구성
### 51123 서버 (192.168.0.100)
**역할**: 프록시, CI/CD, 관리, 로그 저장
```
┌─────────────────────────────────────────────────────────┐
│ 51123 서버 │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ nginx │ │ Gitea │ │frontend-base │ │
│ │ (80/443) │ │ (3000) │ │ (8000) │ │
│ └─────┬───────┘ └──────┬───────┘ └───────────────┘ │
│ │ │ │
│ ┌─────────────┐ ┌──────────────┐ │
│ │ auth-server │ │ PostgreSQL │ │
│ │ (9000) │ │ (5432) │ │
│ └─────────────┘ └──────────────┘ │
│ │ │ │
│ │ ┌───────┴──────┐ ┌──────────────┐ │
│ │ │ Actions │ │ Log Storage │ │
│ │ │ Runner │ │/mnt/hdd/logs │ │
│ │ └──────────────┘ └──────────────┘ │
└────────┼────────────────────────────────────────────────┘
│ 프록시
┌─────────────────────────────────────────────────────────┐
│ 51124 서버 │
│ (192.168.0.106 — 현재 SSOT, 192.168.219.52는 퇴역) │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ rb8001 │ │ rb10508 │ │ rb10408 │ │
│ │ (8001) │ │ (10508) │ │ (10408) │ │
│ └────────────┘ └────────────┘ └────────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ skill-email │ │ skill-news │ │ ChromaDB │ │
│ │ (8501) │ │ (8505) │ │ (8000) │ │
│ └─────────────┘ └─────────────┘ └──────────────┘ │
│ │
│ │
└─────────────────────────────────────────────────────────┘
```
> **정리**: 51124 서버 주소는 2026-03-09 이후 `192.168.0.106`이 SSOT이고, `192.168.219.52`는 운영 경로에서 제거되었습니다. SSH/프록시/배포/헬스체크에는 새 주소만 사용하십시오.
## 포트 매핑
### 51123 서버
| 서비스 | 내부 포트 | 외부 접근 | 용도 |
|--------|-----------|-----------|------|
| nginx | 80/443 | ro-being.com | 리버스 프록시 |
| Gitea | 3000 | git.ro-being.com | Git 저장소 |
| frontend-base | 8000 | /admin/* | 관리자 대시보드 |
| auth-server | 9000 | /auth/* | OAuth 인증 서비스 |
| PostgreSQL | 5432 | - | 데이터베이스 (호스트) |
### 51124 서버
| 서비스 | 포트 | nginx 경로 | 용도 |
|--------|------|------------|------|
| rb8001 | 8001 | /rb8001/* | 메인 로빙 서비스 |
| rb10508 | 10508 | /rb10508/* | 로빙 테스트 |
| rb10408 | 10408 | /rb10408/* | 로빙 서비스 |
| skill-email | 8501 | /skill-email/* | 이메일 스킬 |
| skill-news | 8505 | /skill-news/* | 뉴스 스킬 |
| ChromaDB | 8000 | - | 벡터 데이터베이스 |
## 배포 플로우
```
개발자 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 인증서
- 자동 갱신 설정
---
**최종 수정**: 2025-07-29
**수정 내용**: 서버 구조 변경 반영 (auth-server와 PostgreSQL이 51123 서버에 추가, PostgreSQL은 51124에서 제거)