feat(runtime): 공통 메뉴 설정을 영속 데이터로 보존

최초 기동에만 Core 메뉴 기본값을 복사하고 이후 운영 편집은 배포와 컨테이너 재생성에서 유지한다. Compose 환경과 안전 검증 문서를 함께 갱신한다.
This commit is contained in:
2026-08-19 11:15:22 +00:00
parent b7814b28d9
commit c44e0999fe
4 changed files with 29 additions and 0 deletions
+6
View File
@@ -105,6 +105,12 @@ mode 0600 secret 파일에만 둡니다.
- PostgreSQL, Redis, Core clone/worktree, PM2 상태와 Caddy 인증서는 named
volume에 보존됩니다. 새 user icon은 외부 이미지 서비스가 보존하며 runtime의
user icon volume은 기존 설치 호환용입니다.
- Gateway와 게임 공통 메뉴는 runtime volume의 `/srv/data/navigation.json`
읽습니다. 최초 기동 때만 Core의 `resources/navigation.json`을 복사하며, 이후
배포와 container 재생성은 운영자가 편집한 파일을 덮어쓰지 않습니다. JSON을
유효하게 저장한 뒤 브라우저를 새로 열거나 새로고침하면 재빌드 없이 반영됩니다.
잘못된 스키마나 `javascript:` URL은 API가 거부하므로 변경 전에 Core 문서의
메뉴 설정 검증 명령을 실행합니다.
- `/image/*`는 앱 artifact가 아니며 `data/image/`의 별도 운영 자산을 제공합니다.
- 일반 `docker compose down`은 volume을 보존합니다. `down --volumes`는 DB와
release 상태를 삭제하는 파괴적 명령이므로 backup 없이 실행하지 않습니다.