From 5482318b8408535990b38d3442e7147b8edcaf7e Mon Sep 17 00:00:00 2001 From: zenn Date: Thu, 13 Aug 2026 16:32:42 +0900 Subject: [PATCH] =?UTF-8?q?NAS=20=EC=99=B8=EB=B6=80=20=EB=B3=BC=EB=A5=A8?= =?UTF-8?q?=20=EC=84=A0=EC=96=B8=20=EB=AC=B8=EB=B2=95=20=EB=B3=B4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- docs/deploy.md | 4 ++-- docs/history.md | 4 ++++ docs/update.md | 4 ++++ package-lock.json | 4 ++-- package.json | 2 +- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b29eaf3..c82270e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,7 +36,7 @@ services: volumes: sori-studio-postgres: name: ${POSTGRES_VOLUME_NAME:-soristudio_sori-studio-postgres} - external: ${POSTGRES_VOLUME_EXTERNAL:-true} + external: true networks: sori-studio-network: diff --git a/docs/deploy.md b/docs/deploy.md index 91d0923..2e9d779 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -32,14 +32,14 @@ Linux CI 이미지에서 브라우저 시스템 의존성도 함께 준비해야 ### 운영 마이그레이션과 미디어 카탈로그 전환 -운영 PostgreSQL 볼륨은 Compose 프로젝트명 변화에 영향받지 않도록 `POSTGRES_VOLUME_NAME` 또는 기본값 `soristudio_sori-studio-postgres`로 실제 이름을 고정하고, 기본적으로 외부 볼륨(`POSTGRES_VOLUME_EXTERNAL=true`)으로 선언한다. UGREEN Docker 앱에서 프로젝트 이름이 달라지면 `sori-studio_sori-studio-postgres`처럼 새 빈 볼륨이 붙고 PostgreSQL init 스크립트가 다시 실행될 수 있으므로, 배포 전후 아래 명령으로 DB 컨테이너가 기존 운영 볼륨을 물고 있는지 확인한다. +운영 PostgreSQL 볼륨은 Compose 프로젝트명 변화에 영향받지 않도록 `POSTGRES_VOLUME_NAME` 또는 기본값 `soristudio_sori-studio-postgres`로 실제 이름을 고정하고, 외부 볼륨(`external: true`)으로 선언한다. UGREEN Docker 앱에서 프로젝트 이름이 달라지면 `sori-studio_sori-studio-postgres`처럼 새 빈 볼륨이 붙고 PostgreSQL init 스크립트가 다시 실행될 수 있으므로, 배포 전후 아래 명령으로 DB 컨테이너가 기존 운영 볼륨을 물고 있는지 확인한다. ```bash sudo docker inspect sori-studio-db --format '{{range .Mounts}}{{println .Name .Destination}}{{end}}' sudo docker volume ls | grep -i sori ``` -운영 볼륨이 이미 존재하지 않는 완전 신규 설치에서는 먼저 Docker 앱에서 빈 PostgreSQL 볼륨을 만들거나, Compose 변수 `POSTGRES_VOLUME_EXTERNAL=false`로 최초 생성한 뒤 이후 운영 고정 볼륨으로 사용한다. +운영 볼륨이 이미 존재하지 않는 완전 신규 설치에서는 먼저 Docker 앱에서 `soristudio_sori-studio-postgres` 이름의 빈 PostgreSQL 볼륨을 만들거나 `sudo docker volume create soristudio_sori-studio-postgres`를 실행한 뒤 배포한다. ```bash sh scripts/migrate-production-db.sh status diff --git a/docs/history.md b/docs/history.md index d040b3b..8aa6b5f 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,3 +1,7 @@ +## 2026-08-13 v1.12.20 — NAS Compose 편집기는 boolean을 리터럴로 받는다 + +UGREEN Docker 앱의 Compose 편집기는 변수 치환 전 YAML 스키마를 검사하므로 `external: ${POSTGRES_VOLUME_EXTERNAL:-true}`를 boolean이 아니라 문자열로 판단한다. 운영 DB 볼륨은 이미 외부 고정 볼륨으로 존재해야 하는 구조이므로 `external: true`를 리터럴로 고정해 편집기 경고를 없애고, 신규 설치는 배포 전 볼륨을 먼저 생성하는 절차로 안내한다. + ## 2026-08-13 v1.12.19 — GUI 재배포도 앱 이미지를 다시 빌드하게 유도한다 UGREEN Docker 앱의 재배포가 기존 컨테이너 재생성만 하고 앱 이미지 빌드 단계를 건너뛰면 `git pull` 이후에도 Nuxt 번들에는 이전 코드가 남는다. Compose 서비스에 앱 이미지 이름과 `pull_policy: build`를 함께 선언해 `docker compose up` 경로에서도 Compose가 소스 기반 빌드를 우선하도록 한다. 다만 GUI가 해당 Compose 속성을 무시하는 구버전이면 운영자는 터미널에서 `up -d --build`를 사용해야 한다. diff --git a/docs/update.md b/docs/update.md index ed6dd9d..90362de 100644 --- a/docs/update.md +++ b/docs/update.md @@ -1,5 +1,9 @@ # 업데이트 이력 +## v1.12.20 + +- UGREEN Docker 앱 Compose 편집기의 boolean 스키마 검사에 맞춰 PostgreSQL 외부 볼륨 `external` 값을 리터럴 `true`로 고정. + ## v1.12.19 - NAS Docker 앱 재배포가 기존 앱 이미지를 재사용하지 않도록 앱 서비스 이미지 이름과 `pull_policy: build` 선언 추가. diff --git a/package-lock.json b/package-lock.json index 977debb..e3657d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sori.studio", - "version": "1.12.19", + "version": "1.12.20", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sori.studio", - "version": "1.12.19", + "version": "1.12.20", "hasInstallScript": true, "dependencies": { "@nuxtjs/tailwindcss": "^6.14.0", diff --git a/package.json b/package.json index e142a01..e608975 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sori.studio", - "version": "1.12.19", + "version": "1.12.20", "private": true, "type": "module", "imports": {