Files
TK-BOM-Project/DOCKER-GUIDE.md
Hyungi Ahn 83b90ef05c
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
feat: 자재 관리 페이지 대규모 개선
- 파이프 수량 계산 로직 수정 (단관 개수가 아닌 실제 길이 기반 계산)
- UI 전면 개편 (DevonThink 스타일의 간결하고 세련된 디자인)
- 자재별 그룹핑 로직 개선:
  * 플랜지: 동일 사양별 그룹핑, WN 스케줄 표시, ORIFICE 풀네임 표시
  * 피팅: 상세 타입 표시 (니플 길이, 엘보 각도/연결, 티 타입, 리듀서 타입 등)
  * 밸브: 동일 사양별 그룹핑, 타입/연결방식/압력 표시
  * 볼트: 크기/재질/길이별 그룹핑 (8SET → 개별 집계)
  * 가스켓: 동일 사양별 그룹핑, 재질/상세내역/두께 분리 표시
  * UNKNOWN: 원본 설명 전체 표시, 동일 항목 그룹핑
- 전체 카테고리 버튼 제거 (표시 복잡도 감소)
- 카테고리별 동적 컬럼 헤더 및 레이아웃 적용
2025-09-09 09:24:45 +09:00

194 lines
4.2 KiB
Markdown

# TK-MP-Project Docker 가이드
## 🚀 빠른 시작
### 1. 개발 환경 실행
```bash
./docker-run.sh dev up
```
### 2. 프로덕션 환경 실행
```bash
./docker-run.sh prod up
```
### 3. 시놀로지 NAS 환경 실행
```bash
./docker-run.sh synology up
```
## 📋 사용 가능한 명령어
| 명령어 | 설명 |
|--------|------|
| `up` | 컨테이너 시작 (기본값) |
| `down` | 컨테이너 중지 |
| `build` | 이미지 빌드 |
| `rebuild` | 이미지 재빌드 (캐시 무시) |
| `logs` | 로그 실시간 확인 |
| `ps` 또는 `status` | 서비스 상태 확인 |
| `restart` | 컨테이너 재시작 |
## 🌍 환경별 설정
### 개발 환경 (dev)
- **포트**: 모든 서비스 외부 노출
- Frontend: http://localhost:13000
- Backend API: http://localhost:18000
- PostgreSQL: localhost:5432
- Redis: localhost:6379
- pgAdmin: http://localhost:5050
- **특징**:
- 코드 실시간 반영 (Hot Reload)
- 디버그 모드 활성화
- 모든 로그 레벨 출력
### 프로덕션 환경 (prod)
- **포트**: Nginx를 통한 리버스 프록시
- Web: http://localhost (Nginx)
- HTTPS: https://localhost (SSL 설정 필요)
- **특징**:
- 내부 서비스 포트 비노출
- 최적화된 빌드
- 로그 레벨 INFO
- pgAdmin 비활성화
### 시놀로지 NAS 환경 (synology)
- **포트**: 포트 충돌 방지를 위한 커스텀 포트
- Frontend: http://localhost:10173
- Backend API: http://localhost:10080
- PostgreSQL: localhost:15432
- Redis: localhost:16379
- pgAdmin: http://localhost:15050
- **특징**:
- 명명된 볼륨 사용
- 시놀로지 Container Manager 호환
## 🔧 환경 설정 파일
각 환경별 설정은 다음 파일에서 관리됩니다:
- `env.development` - 개발 환경 설정
- `env.production` - 프로덕션 환경 설정
- `env.synology` - 시놀로지 환경 설정
### 주요 환경 변수
```bash
# 배포 환경
DEPLOY_ENV=development|production|synology
# 포트 설정
FRONTEND_EXTERNAL_PORT=13000
BACKEND_EXTERNAL_PORT=18000
POSTGRES_EXTERNAL_PORT=5432
# 데이터베이스 설정
POSTGRES_DB=tk_mp_bom
POSTGRES_USER=tkmp_user
POSTGRES_PASSWORD=tkmp_password_2025
# 디버그 설정
DEBUG=true|false
LOG_LEVEL=DEBUG|INFO|WARNING|ERROR
```
## 🛠️ 사용 예시
### 개발 시작
```bash
# 개발 환경 시작
./docker-run.sh dev up
# 로그 확인
./docker-run.sh dev logs
# 상태 확인
./docker-run.sh dev ps
```
### 프로덕션 배포
```bash
# 이미지 빌드
./docker-run.sh prod build
# 프로덕션 시작
./docker-run.sh prod up
# 상태 확인
./docker-run.sh prod ps
```
### 시놀로지 NAS 배포
```bash
# 시놀로지 환경 시작
./docker-run.sh synology up
# 로그 확인
./docker-run.sh synology logs
```
### 컨테이너 관리
```bash
# 컨테이너 중지
./docker-run.sh dev down
# 컨테이너 재시작
./docker-run.sh dev restart
# 이미지 재빌드 (캐시 무시)
./docker-run.sh dev rebuild
```
## 🔍 트러블슈팅
### 포트 충돌 해결
환경 설정 파일에서 `*_EXTERNAL_PORT` 변수를 수정하세요.
### 볼륨 권한 문제
```bash
# 볼륨 삭제 후 재생성
docker volume prune
./docker-run.sh dev up
```
### 이미지 빌드 문제
```bash
# 캐시 없이 재빌드
./docker-run.sh dev rebuild
```
## 📁 파일 구조
```
TK-MP-Project/
├── docker-compose.yml # 통합 Docker Compose 파일
├── docker-run.sh # 실행 스크립트
├── env.development # 개발 환경 설정
├── env.production # 프로덕션 환경 설정
├── env.synology # 시놀로지 환경 설정
├── docker-backup/ # 기존 파일 백업
│ ├── docker-compose.yml
│ ├── docker-compose.prod.yml
│ ├── docker-compose.synology.yml
│ └── docker-compose.override.yml
└── DOCKER-GUIDE.md # 이 가이드 파일
```
## 🎯 마이그레이션 가이드
기존 Docker Compose 파일을 사용하던 경우:
1. **기존 컨테이너 중지**
```bash
docker-compose down
```
2. **새로운 방식으로 시작**
```bash
./docker-run.sh dev up
```
3. **기존 파일은 `docker-backup/` 폴더에 보관됨**