chocoadmin, stage-chocoadmin 서비스를 Synology 도커 배포 환경 작업 내용을 문서에 반영
This commit is contained in:
@@ -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 범위
|
||||
|
||||
Reference in New Issue
Block a user