- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산 - 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader) - 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql) - synology_deployment 버전에도 동일 수정 적용
193 lines
4.5 KiB
Markdown
193 lines
4.5 KiB
Markdown
# TK-FB-Project 시놀로지 NAS 923+ 배포 가이드
|
|
|
|
## 📋 개요
|
|
이 가이드는 TK-FB-Project를 시놀로지 NAS 923+ SSD 환경에 배포하는 방법을 설명합니다.
|
|
|
|
## 🔧 시스템 요구사항
|
|
|
|
### 하드웨어
|
|
- **시놀로지 NAS**: DS923+ 또는 그 이상
|
|
- **메모리**: 최소 8GB (권장 16GB 이상)
|
|
- **스토리지**: SSD 권장 (최소 50GB 여유 공간)
|
|
|
|
### 소프트웨어
|
|
- **DSM**: 7.0 이상
|
|
- **Docker**: Container Manager 패키지 설치 필요
|
|
- **SSH 접근**: 활성화 필요
|
|
|
|
## 🚀 배포 단계
|
|
|
|
### 1단계: 시놀로지 준비
|
|
```bash
|
|
# SSH로 시놀로지 접속
|
|
ssh admin@[시놀로지IP]
|
|
|
|
# Docker 및 Docker Compose 확인
|
|
docker --version
|
|
docker-compose --version
|
|
```
|
|
|
|
### 2단계: 배포 파일 업로드
|
|
```bash
|
|
# 배포 디렉토리를 시놀로지 SSD로 복사
|
|
# 방법 1: SCP 사용
|
|
scp -r synology_deployment admin@[시놀로지IP]:/volume2/docker/
|
|
|
|
# 방법 2: 파일 스테이션 사용
|
|
# 웹 브라우저에서 파일 스테이션으로 volume2/docker/ 경로에 업로드
|
|
```
|
|
|
|
### 3단계: 배포 실행
|
|
```bash
|
|
# 배포 디렉토리로 이동 (SSD)
|
|
cd /volume2/docker/synology_deployment
|
|
|
|
# 배포 스크립트 실행
|
|
sudo ./deploy.sh
|
|
```
|
|
|
|
### 4단계: 서비스 확인
|
|
```bash
|
|
# 컨테이너 상태 확인
|
|
docker-compose ps
|
|
|
|
# 로그 확인
|
|
docker-compose logs -f
|
|
```
|
|
|
|
## 🌐 접속 정보
|
|
|
|
배포 완료 후 다음 URL로 접속 가능합니다:
|
|
|
|
- **메인 애플리케이션**: `http://[시놀로지IP]:20000`
|
|
- **API 서버**: `http://[시놀로지IP]:20005`
|
|
- **FastAPI 브리지**: `http://[시놀로지IP]:8000`
|
|
- **phpMyAdmin**: `http://[시놀로지IP]:8080`
|
|
|
|
## 👥 기본 계정 정보
|
|
|
|
시스템에는 다음 계정들이 미리 설정되어 있습니다:
|
|
|
|
### 관리자 계정
|
|
- **hyungi**: 시스템 관리자 (비밀번호: 000000)
|
|
- **khahn**: 관리자 (비밀번호: 000000)
|
|
|
|
### 그룹장 계정
|
|
- **김두수**: 그룹장 (비밀번호: 000000)
|
|
- **임영규**: 그룹장 (비밀번호: 000000)
|
|
- **반치원**: 그룹장 (비밀번호: 000000)
|
|
|
|
### 데이터베이스
|
|
- **Root 비밀번호**: tkfb2024!
|
|
- **애플리케이션 DB**: hyungi_user / hyungi_pass2024!
|
|
|
|
## 🔧 관리 명령어
|
|
|
|
### 서비스 관리
|
|
```bash
|
|
# 서비스 시작
|
|
docker-compose up -d
|
|
|
|
# 서비스 중지
|
|
docker-compose down
|
|
|
|
# 서비스 재시작
|
|
docker-compose restart
|
|
|
|
# 특정 서비스 재시작
|
|
docker-compose restart api
|
|
```
|
|
|
|
### 로그 확인
|
|
```bash
|
|
# 전체 로그
|
|
docker-compose logs -f
|
|
|
|
# 특정 서비스 로그
|
|
docker-compose logs -f api
|
|
docker-compose logs -f db
|
|
docker-compose logs -f web
|
|
```
|
|
|
|
### 백업 및 복원
|
|
```bash
|
|
# 데이터베이스 백업
|
|
docker exec tkfb_db_prod mysqldump -u root -ptkfb2024! hyungi > backup_$(date +%Y%m%d).sql
|
|
|
|
# 데이터베이스 복원
|
|
docker exec -i tkfb_db_prod mysql -u root -ptkfb2024! hyungi < backup_20251105.sql
|
|
```
|
|
|
|
## 📁 디렉토리 구조
|
|
|
|
```
|
|
/volume2/docker/tkfb/ # SSD 볼륨
|
|
├── mysql_data/ # MySQL 데이터 파일
|
|
├── api_logs/ # API 서버 로그
|
|
├── api_uploads/ # 업로드된 파일
|
|
└── fastapi_logs/ # FastAPI 로그
|
|
```
|
|
|
|
## 🔒 보안 설정
|
|
|
|
### 방화벽 설정
|
|
시놀로지 제어판에서 다음 포트를 허용해주세요:
|
|
- **20000**: 웹 애플리케이션
|
|
- **20005**: API 서버
|
|
- **8000**: FastAPI 브리지
|
|
- **8080**: phpMyAdmin (선택사항)
|
|
|
|
### SSL 인증서 (선택사항)
|
|
HTTPS 사용을 위해 시놀로지 제어판에서 SSL 인증서를 설정할 수 있습니다.
|
|
|
|
## 🚨 문제 해결
|
|
|
|
### 일반적인 문제들
|
|
|
|
#### 1. 컨테이너가 시작되지 않는 경우
|
|
```bash
|
|
# 로그 확인
|
|
docker-compose logs [서비스명]
|
|
|
|
# 컨테이너 재빌드
|
|
docker-compose build --no-cache [서비스명]
|
|
```
|
|
|
|
#### 2. 데이터베이스 연결 오류
|
|
```bash
|
|
# DB 컨테이너 상태 확인
|
|
docker exec tkfb_db_prod mysql -u root -ptkfb2024! -e "SELECT 1"
|
|
|
|
# DB 재시작
|
|
docker-compose restart db
|
|
```
|
|
|
|
#### 3. 포트 충돌
|
|
```bash
|
|
# 포트 사용 확인
|
|
netstat -tulpn | grep :20000
|
|
|
|
# 다른 포트로 변경 (docker-compose.yml 수정)
|
|
```
|
|
|
|
#### 4. 권한 문제
|
|
```bash
|
|
# 볼륨 권한 확인 (SSD)
|
|
sudo chown -R 1000:1000 /volume2/docker/tkfb/
|
|
sudo chmod -R 755 /volume2/docker/tkfb/
|
|
```
|
|
|
|
## 📞 지원
|
|
|
|
문제가 발생하면 다음 정보와 함께 문의해주세요:
|
|
- 시놀로지 모델 및 DSM 버전
|
|
- 에러 메시지 및 로그
|
|
- 실행한 명령어
|
|
|
|
## 📝 변경 이력
|
|
|
|
- **2025-11-05**: 초기 배포 가이드 작성
|
|
- 시놀로지 NAS 923+ SSD 환경 최적화
|
|
- 자동 DB 마이그레이션 포함
|
|
- 완전한 개발 데이터 이전
|