# 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 마이그레이션 포함 - 완전한 개발 데이터 이전