Files
TK-FB-Project/synology_deployment/README_SYNOLOGY_DEPLOYMENT.md
Hyungi Ahn a9bce9d20b fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선
- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산
- 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader)
- 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql)
- synology_deployment 버전에도 동일 수정 적용
2025-12-02 13:08:44 +09:00

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