chocoadmin, stage-chocoadmin 서비스를 Synology 도커 배포 환경 작업 내용을 문서에 반영

This commit is contained in:
2026-07-05 13:06:50 +09:00
parent fcab1c83b7
commit c635d64141
3 changed files with 130 additions and 20 deletions
+32 -3
View File
@@ -388,9 +388,9 @@ chocoadmin/
- [x] Dockerfile (프로덕션용 pnpm 빌드)
- [x] `docker-compose.yml` (Synology NAS Container Manager용)
- [ ] AWS EC2 보안그룹 인바운드 설정 (NAS IP → 3306 허용)`docs/deployment.md`에 절차 문서화
- [ ] Synology NAS에서 컨테이너 실행 테스트 — `docs/deployment.md`에 절차 문서화
- [ ] 운영 DB read-only 리허설 후 변경 기능 활성화 — `docs/deployment.md`에 절차 문서화
- [x] AWS EC2 보안그룹 인바운드 설정 (NAS IP → 3306 허용)
- [x] Synology NAS에서 컨테이너 실행 확인 (production + stage 동시 운영 중)
- [x] 운영 DB 연결 및 변경 기능 확인
### Phase 8. 검증 및 안정화
@@ -535,6 +535,35 @@ chocoadmin/
- [x] 기존 `lib/maestros.ts`의 로컬 정의 제거 및 import로 교체
- [x] 두 신규 API route의 로컬 정의 제거 및 import로 교체
### Phase 13. 보안·정합성 수정
> AGENTS.md "Implemented phases" Phase 13 항목 참조.
- [x] 모든 항목 완료 (P0-1 ~ P2-8)
### Phase 14. Production/Stage 배포 환경 안정화
> Production 첫 배포 과정에서 발견된 이슈들을 해결했다.
> 완료 날짜: 2026-07-05
- [x] Production 배포 경로 생성 및 git pull 방식 배포 설정
- Production: `/volume1/docker/service/jinaju/chocoadmin` + `docker-compose.yml`
- Stage: 동일 경로, `-f docker-compose.stage.yml` 로 구분
- [x] **포트 충돌 수정** (`docker-compose.yml`)
- Gitea가 호스트 3000 포트를 선점 → `ports: "3000:3000"``expose: "3000"` 으로 변경
- [x] **Docker DNS alias 충돌 수정** (`docker-compose.stage.yml`)
- `services: chocoadmin:``services: stage-chocoadmin:` 으로 변경
- 동일 서비스명은 `proxy-network`에서 같은 DNS alias로 등록됨
- NPM의 `set $server "chocoadmin"` 이 두 컨테이너에 라운드로빈 → 트래픽이 production/stage 사이에 무작위 분산
- [x] **NextAuth v5 커스텀 쿠키 이름으로 production/stage 쿠키 분리**
- `auth.ts`: `cookies.sessionToken.name = "${APP_ENV}-chocoadmin.session-token"` 추가
- `proxy.ts`: `getToken({ cookieName })` 추가 — `auth.ts`에만 적용하면 middleware가 세션 토큰을 찾지 못해 `ERR_TOO_MANY_REDIRECTS` 발생
- `__Secure-` prefix 금지: Node.js 런타임은 Nginx에서 HTTP로 수신하므로 Secure 쿠키가 무시됨
- [x] **서버 액션 인라인 클로저 제거** — 로그아웃 액션을 `app/(admin)/actions.ts` 로 추출
- 인라인 `"use server"` 클로저는 빌드마다 새 ID 부여 → 재배포 후 `Failed to find Server Action`
- 코드베이스 전체 인라인 서버 액션 검토 및 동일 패턴 수정 완료
- [x] Production/Stage 동시 운영 정상 확인
---
## 10. MVP 범위