해당 서비스 도커화 성공, 룰 추가, 로그인 오류 수정, 소문자 룰 어느정도 해결
This commit is contained in:
116
룰.md
116
룰.md
@@ -15,11 +15,14 @@
|
||||
- **인증:** JWT (JSON Web Token)
|
||||
- **프로세스 매니저:** PM2
|
||||
- **컨테이너:** Docker
|
||||
- **포트:** 20005 (API 서버)
|
||||
|
||||
### 2.2. 프론트엔드 (web-ui)
|
||||
|
||||
- **언어:** HTML, CSS, JavaScript (ES6+ Modules)
|
||||
- **라이브러리:** 별도 프레임워크 없이 순수 JS/HTML/CSS 사용
|
||||
- **웹서버:** Nginx
|
||||
- **포트:** 20000 (웹 서버)
|
||||
|
||||
## 3. 코딩 컨벤션
|
||||
|
||||
@@ -130,7 +133,118 @@
|
||||
- `feature/기능명`: 기능 개발 브랜치 (예: `feature/login-jwt`)
|
||||
- `hotfix/이슈번호`: 긴급 버그 수정 브랜치
|
||||
|
||||
## 7. 배포
|
||||
## 7. FastAPI 브릿지 아키텍처 (2025.07 도입)
|
||||
|
||||
### 7.1. 개요
|
||||
|
||||
웹서비스 확장성과 성능 향상을 위해 FastAPI 브릿지를 도입합니다. DS923+ 환경에서 최적의 성능을 발휘하도록 설계되었습니다.
|
||||
|
||||
### 7.2. 아키텍처
|
||||
|
||||
```
|
||||
브라우저 → FastAPI (포트 8000) → Express.js API (포트 3005)
|
||||
↓
|
||||
정적 파일 서빙
|
||||
API 게이트웨이
|
||||
캐싱 (Redis)
|
||||
AI/ML 처리
|
||||
```
|
||||
|
||||
### 7.3. 기술 스택 (추가)
|
||||
|
||||
#### 7.3.1. FastAPI 브릿지
|
||||
- **런타임:** Python 3.11+
|
||||
- **프레임워크:** FastAPI
|
||||
- **비동기:** asyncio, aiohttp
|
||||
- **캐싱:** Redis
|
||||
- **문서화:** Swagger/OpenAPI 자동 생성
|
||||
|
||||
### 7.4. 개발 단계
|
||||
|
||||
#### Phase 1: 기본 프록시 (2-3주)
|
||||
- FastAPI 기본 설정
|
||||
- Express.js API 프록시
|
||||
- 헬스체크 및 모니터링
|
||||
|
||||
#### Phase 2: 정적 파일 이관 (1주)
|
||||
- 웹 UI 정적 파일 서빙
|
||||
- 단일 포트 통합 (8000)
|
||||
|
||||
#### Phase 3: 캐싱 계층 (1-2주)
|
||||
- Redis 캐싱 구현
|
||||
- 성능 최적화
|
||||
|
||||
#### Phase 4: 확장 기능 (지속적)
|
||||
- 데이터 분석 API
|
||||
- AI/ML 기능
|
||||
- 외부 시스템 연동
|
||||
|
||||
### 7.5. 성능 목표 (DS923+ 기준)
|
||||
|
||||
- **동시 사용자:** 200명 이상
|
||||
- **응답 시간:** 50-150ms
|
||||
- **파일 처리:** 대용량 지원
|
||||
- **가용성:** 99.9% 이상
|
||||
|
||||
## 8. Docker 환경 구성
|
||||
|
||||
### 8.1. 컨테이너 구성
|
||||
|
||||
현재 시스템은 Docker로 완전히 컨테이너화되어 있으며, 다음과 같은 서비스들로 구성됩니다:
|
||||
|
||||
#### 8.1.1. 개발 환경 (현재 실행 중)
|
||||
|
||||
| 서비스 | 컨테이너명 | 포트 | 설명 |
|
||||
|--------|------------|------|------|
|
||||
| 웹 서버 | `web_hyungi_dev` | 20000 | Nginx 기반 프론트엔드 |
|
||||
| API 서버 | `api_hyungi_dev` | 20005 | Node.js Express.js 백엔드 |
|
||||
| 데이터베이스 | `db_hyungi_dev` | 20306 | MariaDB 10.9 |
|
||||
| DB 관리 | `pma_hyungi_dev` | 20080 | phpMyAdmin |
|
||||
|
||||
#### 8.1.2. 서비스 접속 방법
|
||||
|
||||
- **메인 웹사이트**: http://localhost:20000
|
||||
- **API 엔드포인트**: http://localhost:20005
|
||||
- **데이터베이스 관리**: http://localhost:20080 (phpMyAdmin)
|
||||
- **데이터베이스 직접 접속**: localhost:20306
|
||||
|
||||
#### 8.1.3. Docker Compose 실행
|
||||
|
||||
```bash
|
||||
# api.hyungi.net 디렉토리에서 실행
|
||||
cd api.hyungi.net
|
||||
docker-compose up -d
|
||||
|
||||
# 상태 확인
|
||||
docker ps | grep hyungi
|
||||
|
||||
# 로그 확인
|
||||
docker logs api_hyungi_dev
|
||||
docker logs web_hyungi_dev
|
||||
```
|
||||
|
||||
#### 8.1.4. 환경 변수
|
||||
|
||||
시스템 설정은 `api.hyungi.net/.env` 파일에서 관리됩니다:
|
||||
- 데이터베이스 연결 정보
|
||||
- API 포트 설정
|
||||
- JWT 시크릿 키
|
||||
- 기타 환경별 설정
|
||||
|
||||
#### 8.1.5. 기본 계정 정보
|
||||
|
||||
**웹 포털 관리자 계정:**
|
||||
- **사용자명:** `hyungi`
|
||||
- **비밀번호:** `tycdoq-Kawcug-8wesfa`
|
||||
- **권한:** `admin`
|
||||
- **용도:** 시스템 관리 및 개발/테스트
|
||||
|
||||
**주의사항:**
|
||||
- 이 계정은 개발 및 관리 목적으로만 사용
|
||||
- 운영 환경에서는 별도의 보안 계정 사용 권장
|
||||
- 비밀번호 변경 시 본 문서도 함께 업데이트
|
||||
|
||||
### 8.2. 배포
|
||||
|
||||
- **환경:** `development` (개발), `production` (운영)
|
||||
- **배포 절차:**
|
||||
|
||||
Reference in New Issue
Block a user