smart_ims/docs/ENVIRONMENT_SETUP.md
choibk 8b2589b6fa feat: 플랫폼 보안 강화, 권한 계층 시스템 도입 및 버전 관리 통합 (v0.2.5)
- 최고관리자(Supervisor) 전용 2중 보안 잠금 시스템 및 인증 UI 적용
- 데이터베이스 인프라 및 암호화 마스터 키 자가 관리 기능 구축
- 권한 계층(Supervisor > Admin > User) 기반의 메뉴 노출 및 접근 제어 로직 강화
- 시스템 버전 정보 페이지 신규 추가 및 패키지 버전 자동 연동 (v0.2.5)
- 사용자 관리 UI 디자인 개선 및 폰트/스타일 일원화
2026-01-24 17:17:33 +09:00

2.6 KiB

SmartIMS 환경 설정 가이드 (Environment Setup Guide)

본 문서는 SmartIMS의 개발 환경(Windows)과 운영 환경(Synology NAS) 설정을 관리하기 위한 지침을 제공합니다.


1. 환경별 주요 설정 (.env)

server/.env 파일은 프로젝트의 핵심 설정을 담고 있습니다. 환경에 따라 아래 주석을 참고하여 값을 변경하세요.

1.1 데이터베이스 (MariaDB)

변수명 개발 환경 (Windows) 운영 환경 (Synology) 설명
DB_HOST localhost 또는 sokuree.com localhost DB 서버 주소
DB_PORT 3307 (Docker/XAMPP 등) 3306 (기본값) MariaDB 접속 포트
DB_NAME sokuree_platform_dev sokuree_platform_prod 사용할 DB 이름

1.2 시스템 및 보안

  • PORT: 백엔드 서버 포트 (기본값: 3005). Synology 서비스와 충돌 시 변경 가능.
  • SESSION_SECRET: 세션 암호화 키. 운영 환경에서는 고유한 긴 문자열로 변경 권장.
  • LICENSE_MANAGER_URL: 라이선스 서버 주소.

2. 개발 및 운영 환경 차이점 정리

2.1 스트리밍 전송 모드 (CCTV_TRANSPORT_OVERRIDE)

  • 개발(Windows): auto 또는 udp 사용. (TCP 사용 시 권한 문제로 스트리밍이 끊길 수 있음)
  • 운영(NAS): tcp 권한이 안정적이므로 tcp 설정을 권장합니다.

2.2 API 프록시 (Vite)

  • 개발 시에는 vite.config.tsproxy 설정을 통해 프론트엔드가 백엔드(localhost:3005)와 통신합니다.
  • 운영 시에는 npm run build로 생성된 dist 폴더를 Node.js(Express)가 직접 서빙하므로 프록시 설정이 필요 없으며 동일 포트에서 동작합니다.

2.3 파일 경로 (Uploads)

  • 업로드된 이미지는 server/uploads 디렉토리에 저장됩니다.
  • 운영 환경으로 이전 시 이 디렉토리의 쓰기 권한이 Node.js 실행 계정에 있는지 확인해야 합니다.

3. 체크리스트: 자산 목록이 안 보일 때

  1. 서버-DB 연결 확인: 서버 로그(npm start)에서 ✅ Connected to Database 메시지가 나오는지 확인하세요.
  2. 모듈 활성화 확인: [시스템 관리] > [모듈/라이선스 관리] 메뉴에서 '자산 관리' 모듈이 활성화 상태인지 확인하세요.
  3. 구독자 ID 일치: 라이선스 키 등록 시 사용된 구독자 ID(SKR-2024-...)가 [기본 설정]의 구독자 ID와 일치해야 합니다.
  4. 브라우저 캐시: 프론트엔드 빌드 후 변경 사항이 반영되지 않으면 강력 새로고침(Ctrl + F5)을 수행하세요.