feat(deploy): cut over msn.iykyka.com to Ykavu compose stack
Attach web to nginx-proxy_default; record live cutover (NPM host #7, old MSN stopped) and mark N2-B8–B12 done. Co-authored-by: okuma <o0kuma@users.noreply.github.com>
This commit is contained in:
parent
0a33ff3bcc
commit
d60da60981
|
|
@ -78,6 +78,16 @@ services:
|
|||
timeout: 3s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
# Join Nginx Proxy Manager network so msn.iykyka.com can reach web by name.
|
||||
networks:
|
||||
- default
|
||||
- npm
|
||||
|
||||
volumes:
|
||||
ykavu_pgdata:
|
||||
|
||||
networks:
|
||||
default:
|
||||
npm:
|
||||
external: true
|
||||
name: nginx-proxy_default
|
||||
|
|
|
|||
|
|
@ -113,14 +113,14 @@ N2-A 전체 확정. 다음 구현 트랙은 **N1 스모크 → N2-B (Dockerfile/
|
|||
| **N2-B5** | env 템플릿 | **done** | `.env.example`에 Postgres/`PUBLIC_API_BASE`/`WEB_HOST_PORT` 등 추가 |
|
||||
| **N2-B6** | 데이터 볼륨 | **done** | compose 볼륨 `ykavu_pgdata` |
|
||||
| **N2-B7** | 내부 DNS | **done** (정의) | compose 서비스명 `postgres` / `ai-service` / `core-backend`. *에이전트 VM은 bridge TCP 제한으로 런타임 검증 불가 — Portainer 호스트에서 확인* |
|
||||
| **N2-B8** | CORS + API base | **blocked** | `PUBLIC_API_BASE=https://msn.iykyka.com` — 스택 Up 후 검증. *에이전트 SSH/Portainer 권한 없음* |
|
||||
| **N2-B9** | 리버스 프록시 | **blocked** | OpenResty → `web` 포트. 절차 [`deploy-portainer.md`](./deploy-portainer.md) |
|
||||
| **N2-B10** | Portainer 스택 | **blocked** | 절차 문서화 완료. Up은 Master 또는 자격 제공 후 |
|
||||
| **N2-B11** | 구 MSN 컷오버 | **blocked** | 현재 `msn` = Express/`{"ok":true}` (구스택). 컷오버 절차 문서화됨 |
|
||||
| **N2-B12** | 배포 스모크 | **blocked** | 컷오버 후 [`deploy-portainer.md`](./deploy-portainer.md) §C |
|
||||
| **N2-B13** | 운영 runbook | **done** (초안) | [`deploy-docker.md`](./deploy-docker.md) · [`deploy-portainer.md`](./deploy-portainer.md) |
|
||||
| **N2-B8** | CORS + API base | **done** (2026-07-31) | `PUBLIC_API_BASE=https://msn.iykyka.com`. OPTIONS CORS + 가입 확인 |
|
||||
| **N2-B9** | 리버스 프록시 | **done** (2026-07-31) | Nginx Proxy Manager host #7 → `ykavu-web-1:80` |
|
||||
| **N2-B10** | Portainer 스택 | **done** (compose CLI) | 서버 `~/project/ykavu` 에서 `docker compose up -d --build` (Portainer UI 아님) |
|
||||
| **N2-B11** | 구 MSN 컷오버 | **done** (2026-07-31) | `iykyk_msn-service` stop. NPM `msn.iykyka.com` → 와카뷰. 롤백: MSN start + NPM upstream 복구 |
|
||||
| **N2-B12** | 배포 스모크 | **done** (2026-07-31) | `/health`=`status`, `/demo`=`DEMO-YKAVU`, root 200, DEMO 가입 OK |
|
||||
| **N2-B13** | 운영 runbook | **done** | [`deploy-docker.md`](./deploy-docker.md) · [`deploy-portainer.md`](./deploy-portainer.md) |
|
||||
|
||||
관련: Portainer `https://portainer.iykyka.com/`, SSH `iykyka@iykyka.com:7788` (키 필요). 시크릿 git 금지.
|
||||
관련: 라이브 `https://msn.iykyka.com` · 서버 path `~/project/ykavu` · web 포트 `8788`(+ NPM). 시크릿 git 금지.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@
|
|||
스택 정의: 저장소 root [`docker-compose.yml`](../docker-compose.yml)
|
||||
개요: [`deploy-docker.md`](./deploy-docker.md)
|
||||
|
||||
## 현재 프로브 (에이전트, 2026-07-31)
|
||||
## 라이브 상태 (2026-07-31 컷오버 완료)
|
||||
|
||||
| URL | 결과 |
|
||||
|-----|------|
|
||||
| `https://msn.iykyka.com/` | Express `Cannot GET /` (404) — 구 Node MSN으로 추정 |
|
||||
| `https://msn.iykyka.com/health` | `{"ok":true}` — 구 스택 |
|
||||
| `https://portainer.iykyka.com/` | 200, API `Version 2.39.2` |
|
||||
| 엣지 | `Server: openresty` |
|
||||
| `https://msn.iykyka.com/health` | `{"status":"ok"}` — 와카뷰 |
|
||||
| `https://msn.iykyka.com/demo` | `DEMO-YKAVU` |
|
||||
| `https://msn.iykyka.com/` | Flutter web 200 |
|
||||
| 서버 path | `~/project/ykavu` (`docker compose`) |
|
||||
| web host port | `8788` (NPM이 `ykavu-web-1:80`으로 프록시) |
|
||||
| 구 MSN | `iykyk_msn-service` **stopped** (롤백 시 start) |
|
||||
| 엣지 | Nginx Proxy Manager (`nginx-proxy-app-1`, openresty) |
|
||||
|
||||
에이전트 VM에는 **SSH 키/`iykyka@iykyka.com:7788` 권한이 없음** → 실제 Up·컷오버는
|
||||
Master가 Portainer 또는 SSH로 수행(또는 키/토큰을 에이전트에 제공).
|
||||
|
||||
새 스택 헬스 응답은 `{"status":"ok"}` (구스택 `{"ok":true}` 과 구분).
|
||||
`docker-compose.yml`의 `web` 서비스는 external network `nginx-proxy_default`에 연결됨.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue