Files
tk-factory-services/DEPLOYMENT.md
Hyungi Ahn 733bb0cb35 feat: tkuser 통합 관리 서비스 + 전체 시스템 SSO 쿠키 인증 통합
- tkuser 서비스 신규 추가 (API + Web)
  - 사용자/권한/프로젝트/부서/작업자/작업장/설비/작업/휴가 통합 관리
  - 작업장 탭: 공장→작업장 드릴다운 네비게이션 + 구역지도 클릭 연동
  - 작업 탭: 공정(work_types)→작업(tasks) 계층 관리
  - 휴가 탭: 유형 관리 + 연차 배정(근로기준법 자동계산)
- 전 시스템 SSO 쿠키 인증으로 통합 (.technicalkorea.net 공유)
- System 2: 작업 이슈 리포트 기능 강화
- System 3: tkuser API 연동, 페이지 권한 체계 적용
- docker-compose에 tkuser-api, tkuser-web 서비스 추가
- ARCHITECTURE.md, DEPLOYMENT.md 문서 작성

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:45:52 +09:00

2.7 KiB

TK Factory Services - 배포 가이드

NAS 접속

환경 접속 주소
사내 네트워크 (로컬) ssh hyungi@192.168.0.3
외부 네트워크 (Tailscale VPN) ssh hyungi@100.71.132.52

외부에서 작업할 때는 Tailscale VPN IP(100.71.132.52)로 접속하세요. Tailscale은 WireGuard 암호화를 사용하며, 인증된 기기만 접근 가능합니다.

프로젝트 경로

  • NAS 프로젝트: /volume1/docker/tk-factory-services
  • Docker 바이너리: /volume2/@appstore/ContainerManager/usr/bin

배포 방법

1. 파일 전송 (scp)

# Synology NAS는 -O (레거시 모드) 플래그 필요
scp -O <로컬파일> hyungi@100.71.132.52:/volume1/docker/tk-factory-services/<경로>

2. 컨테이너 빌드 및 재시작

ssh hyungi@100.71.132.52 "\
  export PATH=\$PATH:/volume2/@appstore/ContainerManager/usr/bin && \
  cd /volume1/docker/tk-factory-services && \
  docker compose up -d --build <서비스명>"

서비스명 목록

서비스 도메인 컨테이너
tkuser-web tkuser.technicalkorea.net tk-tkuser-web
tkuser-api - tk-tkuser-api
system1-web tkfactory.technicalkorea.net tk-system1-web
system1-api - tk-system1-api
system2-web tkreport.technicalkorea.net tk-system2-web
system2-api - tk-system2-api
system3-web tkqc.technicalkorea.net tk-system3-web
system3-api - tk-system3-api
gateway technicalkorea.net tk-gateway
sso-auth - tk-sso-auth

3. DB 접속

ssh hyungi@100.71.132.52 "\
  export PATH=\$PATH:/volume2/@appstore/ContainerManager/usr/bin && \
  docker exec -it tk-mariadb mysql -uhyungi_user -p hyungi"

예시: System 2 전체 배포

NAS=hyungi@100.71.132.52
PROJECT=/volume1/docker/tk-factory-services

# 파일 전송
scp -O system2-report/web/nginx.conf $NAS:$PROJECT/system2-report/web/nginx.conf
scp -O system2-report/web/pages/safety/issue-report.html $NAS:$PROJECT/system2-report/web/pages/safety/issue-report.html
scp -O system2-report/web/js/work-issue-report.js $NAS:$PROJECT/system2-report/web/js/work-issue-report.js
scp -O system2-report/api/controllers/workIssueController.js $NAS:$PROJECT/system2-report/api/controllers/workIssueController.js

# 컨테이너 재빌드
ssh $NAS "export PATH=\$PATH:/volume2/@appstore/ContainerManager/usr/bin && \
  cd $PROJECT && docker compose up -d --build system2-web system2-api"

주의사항

  • Synology SCP: 반드시 -O 플래그 사용 (레거시 프로토콜)
  • Docker 권한: sudo chmod 666 /var/run/docker.sock (NAS 재부팅 시 리셋됨)
  • Tailscale: NAS에서 로그아웃될 수 있음 → sudo tailscale up으로 재연결