- 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>
2.7 KiB
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으로 재연결