DOCS/_archive/docs/architecture/server-architecture.md
happybell80 725ad0876c fix: 문서 파일 실행 권한 제거
- 모든 .md, .html 파일 권한을 644로 정상화
- .gitignore 파일 권한도 644로 수정
- 문서 파일에 실행 권한은 불필요하고 보안상 바람직하지 않음
- deprecated 아이디어 폴더 생성 및 레벨별 UI 변경 아이디어 이동
2025-08-18 00:37:51 +09:00

111 lines
5.9 KiB
Markdown

# 로빙 서버 인프라 구성도
## 서버 구성
### 51123 서버 (192.168.219.45)
**역할**: 프록시, 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.219.52) │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ rb8001 │ │ rb10508 │ │ rb10408 │ │
│ │ (8001) │ │ (10508) │ │ (10408) │ │
│ └────────────┘ └────────────┘ └────────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ skill-email │ │ skill-news │ │ ChromaDB │ │
│ │ (8501) │ │ (8505) │ │ (8000) │ │
│ └─────────────┘ └─────────────┘ └──────────────┘ │
│ │
│ │
└─────────────────────────────────────────────────────────┘
```
## 포트 매핑
### 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에서 제거)