- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산 - 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader) - 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql) - synology_deployment 버전에도 동일 수정 적용
4.5 KiB
4.5 KiB
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단계: 시놀로지 준비
# SSH로 시놀로지 접속
ssh admin@[시놀로지IP]
# Docker 및 Docker Compose 확인
docker --version
docker-compose --version
2단계: 배포 파일 업로드
# 배포 디렉토리를 시놀로지 SSD로 복사
# 방법 1: SCP 사용
scp -r synology_deployment admin@[시놀로지IP]:/volume2/docker/
# 방법 2: 파일 스테이션 사용
# 웹 브라우저에서 파일 스테이션으로 volume2/docker/ 경로에 업로드
3단계: 배포 실행
# 배포 디렉토리로 이동 (SSD)
cd /volume2/docker/synology_deployment
# 배포 스크립트 실행
sudo ./deploy.sh
4단계: 서비스 확인
# 컨테이너 상태 확인
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!
🔧 관리 명령어
서비스 관리
# 서비스 시작
docker-compose up -d
# 서비스 중지
docker-compose down
# 서비스 재시작
docker-compose restart
# 특정 서비스 재시작
docker-compose restart api
로그 확인
# 전체 로그
docker-compose logs -f
# 특정 서비스 로그
docker-compose logs -f api
docker-compose logs -f db
docker-compose logs -f web
백업 및 복원
# 데이터베이스 백업
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. 컨테이너가 시작되지 않는 경우
# 로그 확인
docker-compose logs [서비스명]
# 컨테이너 재빌드
docker-compose build --no-cache [서비스명]
2. 데이터베이스 연결 오류
# DB 컨테이너 상태 확인
docker exec tkfb_db_prod mysql -u root -ptkfb2024! -e "SELECT 1"
# DB 재시작
docker-compose restart db
3. 포트 충돌
# 포트 사용 확인
netstat -tulpn | grep :20000
# 다른 포트로 변경 (docker-compose.yml 수정)
4. 권한 문제
# 볼륨 권한 확인 (SSD)
sudo chown -R 1000:1000 /volume2/docker/tkfb/
sudo chmod -R 755 /volume2/docker/tkfb/
📞 지원
문제가 발생하면 다음 정보와 함께 문의해주세요:
- 시놀로지 모델 및 DSM 버전
- 에러 메시지 및 로그
- 실행한 명령어
📝 변경 이력
- 2025-11-05: 초기 배포 가이드 작성
- 시놀로지 NAS 923+ SSD 환경 최적화
- 자동 DB 마이그레이션 포함
- 완전한 개발 데이터 이전