DOCS/docs/architecture/server-architecture.md
happybell80 ef54297247 docs: 서버 인프라 문서 및 API 가이드 추가
- log-api-guide.md: 로그 조회 API 사용 가이드
- server-architecture.md: 51123/51124 서버 인프라 구성도
- emergency-manual.md: 비상 대응 매뉴얼 및 트러블슈팅 가이드

로컬 개발자와 51124 서버 담당자가 참고할 수 있도록 문서화
2025-07-29 18:54:09 +09:00

4.9 KiB

로빙 서버 인프라 구성도

서버 구성

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 인증서
    • 자동 갱신 설정