TK 공장관리 3-System 분리 및 통합 - 진행 상황
최종 업데이트: 2026-02-06
전체 목표
TK-FB-Project(공장관리+신고)와 M-Project(부적합관리)를 3개 독립 시스템으로 분리하고 SSO + 데이터 연동으로 통합.
| 시스템 |
설명 |
기반 코드 |
| System 1 - 공장관리 |
TK-FB에서 신고 기능 제거 |
TK-FB-Project |
| System 2 - 신고 |
TK-FB에서 추출한 독립 서비스 |
TK-FB-Project (workIssue 코드) |
| System 3 - 부적합관리 (TKQC) |
M-Project 기반 |
M-Project |
배포 대상: Synology DS923+ NAS (192.168.0.3)
현재 NAS 운영 상태
TK-FB (공장관리+신고 - 기존 시스템, 운영 중)
| 컨테이너 |
상태 |
포트 |
| tkfb_web |
Up |
- |
| tkfb_api |
Up (healthy) |
- |
| tkfb_fastapi |
Up |
- |
| tkfb_db (MariaDB) |
Up (healthy) |
- |
| tkfb_redis |
Up |
- |
| tkfb_phpmyadmin |
Up |
- |
| tkfb_cloudflared |
Up |
- |
- 도메인:
tkfb.technicalkorea.net (Cloudflare Tunnel)
- 위치:
/volume1/Technicalkorea Document/tkfb-package/
TKQC (부적합관리 - 신규 배포 완료)
| 컨테이너 |
상태 |
포트 |
| tkqc-db (PostgreSQL 15) |
Up (healthy) |
16432 |
| tkqc-backend (FastAPI) |
Up |
16000 |
| tkqc-nginx |
Up |
16080 |
- 도메인:
tkqc.technicalkorea.net (Cloudflare Tunnel)
- 위치:
/volume1/docker/tkqc/tkqc-package/
- cloudflared가 tkfb_network + tkqc-network 양쪽 연결됨
단계별 진행 상황
Phase 0: M-Project(TKQC) NAS 배포 ✅ 완료
Phase 1: 준비 - 로컬 코드 구조 생성 ✅ 완료
Phase 2: SSO 인증 서비스 - 로컬 코드 작성 ✅ 완료
Phase 3: 시스템별 코드 분리 - 로컬 코드 작성 ✅ 완료
System 1 - 공장관리
System 2 - 신고
System 3 - 부적합관리 (TKQC)
Phase 4: Gateway 포털 - 로컬 코드 작성 ✅ 완료
Phase 5: 마이그레이션 스크립트 - 로컬 코드 작성 ✅ 완료
Phase 6: NAS 통합 배포 ❌ 미착수
Phase 7: 테스트 및 Go-Live ❌ 미착수
완료율 요약
| 단계 |
상태 |
완료도 |
| Phase 0: TKQC NAS 배포 |
✅ 거의 완료 |
95% (CF 대시보드 URL 변경만 남음) |
| Phase 1: 디렉토리 구조 |
✅ 완료 |
100% |
| Phase 2: SSO 코드 작성 |
✅ 코드 완료 |
70% (코드만 완료, 테스트/배포 미완) |
| Phase 3: 시스템 분리 코드 |
✅ 코드 완료 |
60% (코드 완료, auth 연동/테스트 미완) |
| Phase 4: Gateway 코드 |
✅ 코드 완료 |
70% (코드만 완료, 배포/테스트 미완) |
| Phase 5: 스크립트 |
✅ 코드 완료 |
50% (코드만 완료, 실행 미완) |
| Phase 6: NAS 통합 배포 |
❌ 미착수 |
0% |
| Phase 7: 테스트/Go-Live |
❌ 미착수 |
0% |
전체 진행률: 약 45% (코드 작성 완료, 실제 통합/배포/테스트 남음)
주요 파일 위치
로컬 (Mac)
- 통합 프로젝트:
/Users/hyungiahn/Documents/code/tk-factory-services/
- TK-FB 원본:
/Users/hyungiahn/Documents/code/TK-FB-Project/
- M-Project 원본:
/Users/hyungiahn/Documents/code/M-Project/
- M-Project 배포 도구:
/Users/hyungiahn/Documents/code/M-Project/deploy/
NAS (192.168.0.3)
- TK-FB 운영:
/volume1/Technicalkorea Document/tkfb-package/
- TKQC 운영:
/volume1/docker/tkqc/tkqc-package/
- SSH:
hyungi / fukdon-riwbaq-fiQfy2
포트 계획 (통합 배포 시)
| 현재 포트 |
통합 후 포트 |
서비스 |
| - |
30000 |
Gateway Nginx (통합 포털) |
| tkfb API |
30005 |
System 1 API |
| tkfb FastAPI |
30008 |
System 1 FastAPI Bridge |
| - |
30050 |
SSO Auth |
| tkfb Web |
30080 |
System 1 Web |
| - |
30105 |
System 2 API |
| - |
30180 |
System 2 Web |
| 16000 → 30200 |
30200 |
System 3 API |
| 16080 → 30280 |
30280 |
System 3 Web |
| tkfb MariaDB |
30306 |
MariaDB (공유) |
| 16432 → 30432 |
30432 |
PostgreSQL |
| tkfb phpMyAdmin |
30880 |
phpMyAdmin |
다음에 할 일 (우선순위)
- Cloudflare 대시보드에서 tkqc 서비스 URL 변경 (사용자 작업)
http://m-project-nginx:80 → http://tkqc-nginx:80
- tkqc.technicalkorea.net 접속 테스트
- Phase 3 마무리: auth 미들웨어 SSO 연동 코드 완성
- Phase 6: NAS 통합 배포 시작
- Phase 7: 전체 테스트
해결했던 이슈 (참고)
| 이슈 |
해결 방법 |
| nginx uploads 볼륨 read-only 에러 |
nginx에서 uploads 볼륨 제거, backend 프록시로 변경 |
users.department 컬럼 누락 |
마이그레이션 수동 실행 (ALTER TABLE) |
| nginx 403 Forbidden (Docker IP 차단) |
allow 172.16.0.0/12, allow 10.0.0.0/8 추가 |
| SCP subsystem 실패 |
scp -O (레거시 프로토콜) 사용 |
| sudo 패스워드 파이프 실패 (for 루프) |
SQL 파일 합쳐서 한번에 실행 |
| 네트워크 충돌 (리네임 시) |
cloudflared 연결 해제 후 네트워크 삭제 |
| 새 볼륨 비어있음 (리네임 후) |
마이그레이션 재실행 |