docs: 배포 가이드 업데이트 - tkuser, tkreport 연동, 트러블슈팅 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# TK Factory Services - NAS 배포 가이드
|
||||
|
||||
> 최종 업데이트: 2026-02-09
|
||||
> 최종 업데이트: 2026-02-12
|
||||
|
||||
## 아키텍처 개요
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
| `tkfb.technicalkorea.net` | `http://tk-gateway:80` | 통합 포털 + System 1 (공장관리) |
|
||||
| `tkreport.technicalkorea.net` | `http://tk-system2-web:80` | System 2 (신고) |
|
||||
| `tkqc.technicalkorea.net` | `http://tk-system3-web:80` | System 3 (부적합관리) |
|
||||
| `tkuser.technicalkorea.net` | `http://tk-tkuser-web:80` | 통합 관리 (사용자/부서/프로젝트/이슈유형) |
|
||||
|
||||
### SSO 인증 방식
|
||||
|
||||
@@ -51,6 +52,8 @@
|
||||
| System 3 Web | tk-system3-web | 30280:80 |
|
||||
| phpMyAdmin | tk-phpmyadmin | 30880:80 |
|
||||
| Cloudflared | tk-cloudflared | - |
|
||||
| TKUser API | tk-tkuser-api | 30300:3000 |
|
||||
| TKUser Web | tk-tkuser-web | 30380:80 |
|
||||
| Gateway | tk-gateway | 30000:80 |
|
||||
|
||||
---
|
||||
@@ -240,6 +243,41 @@ echo 'fukdon-riwbaq-fiQfy2' | sudo -S /usr/local/bin/docker compose up -d
|
||||
|
||||
---
|
||||
|
||||
## 시스템 간 연동
|
||||
|
||||
### tkreport → tkqc 부적합 자동 전달
|
||||
|
||||
부적합 유형으로 신고 시 system2-api가 system3-api로 자동 전달:
|
||||
|
||||
- **인증**: SSO 토큰 그대로 전달 (원래 신고자 유지)
|
||||
- **fallback 인증**: `api_service` 계정 (system3 users 테이블에 등록 필요)
|
||||
- **사진**: system2에 저장된 파일을 base64로 읽어서 system3에 전달
|
||||
- **프로젝트**: 같은 MariaDB `projects` 테이블 공유, project_id 그대로 전달
|
||||
- **환경변수**: `M_PROJECT_API_URL=http://system3-api:8000`
|
||||
|
||||
### system2-web nginx 프록시 라우팅
|
||||
|
||||
tkreport의 nginx는 여러 백엔드로 프록시:
|
||||
|
||||
| 경로 | 대상 | 용도 |
|
||||
|------|------|------|
|
||||
| `/api/workplaces/` | system1-api:3005 | 공장/작업장 |
|
||||
| `/api/projects/` | system1-api:3005 | 프로젝트 목록 |
|
||||
| `/api/tbm/` | system1-api:3005 | TBM 세션 |
|
||||
| `/api/workplace-visits/` | system1-api:3005 | 출입관리 |
|
||||
| `/api/` (catch-all) | system2-api:3005 | 신고(work-issues) |
|
||||
|
||||
### 신고 페이지 (tkreport) 흐름
|
||||
|
||||
모바일 최적화 5단계 위자드:
|
||||
1. **유형** — 부적합 / 시설설비 / 안전
|
||||
2. **위치** — 지도에서 작업장 터치 선택
|
||||
3. **프로젝트** — TBM등록 / 활성프로젝트 / 모름 (아코디언)
|
||||
4. **항목** — 카테고리 → 세부항목 또는 직접입력
|
||||
5. **사진** — 최대 5장 (클라이언트 1280px 리사이징), 추가설명
|
||||
|
||||
---
|
||||
|
||||
## 트러블슈팅
|
||||
|
||||
| 증상 | 원인 | 해결 |
|
||||
@@ -250,3 +288,6 @@ echo 'fukdon-riwbaq-fiQfy2' | sudo -S /usr/local/bin/docker compose up -d
|
||||
| Cloudflare 502 | 컨테이너 미기동 | `docker compose ps`로 상태 확인, `docker compose logs <서비스>` |
|
||||
| SCP 실패 | Synology subsystem | `scp -O` 옵션 사용 |
|
||||
| sudo 파이프 실패 | Synology 제한 | `echo 'password' \| sudo -S` 패턴 사용 |
|
||||
| 신고 사진 업로드 느림/실패 | nginx body size 제한 | `client_max_body_size 50m;` 확인 |
|
||||
| tkqc 부적합 연동 실패 | api_service 계정 미등록 | system3 DB에 api_service 사용자 생성 |
|
||||
| 신고 사진 컨테이너 재빌드 후 유실 | uploads 경로 불일치 | imageUploadService 경로가 Docker 볼륨과 일치하는지 확인 |
|
||||
|
||||
Reference in New Issue
Block a user