NAS 외부 볼륨 선언 문법 보정

This commit is contained in:
2026-08-13 16:32:42 +09:00
parent 0fe167a1ec
commit 5482318b84
6 changed files with 14 additions and 6 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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`를 사용해야 한다.

View File

@@ -1,5 +1,9 @@
# 업데이트 이력
## v1.12.20
- UGREEN Docker 앱 Compose 편집기의 boolean 스키마 검사에 맞춰 PostgreSQL 외부 볼륨 `external` 값을 리터럴 `true`로 고정.
## v1.12.19
- NAS Docker 앱 재배포가 기존 앱 이미지를 재사용하지 않도록 앱 서비스 이미지 이름과 `pull_policy: build` 선언 추가.

4
package-lock.json generated
View File

@@ -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",

View File

@@ -1,6 +1,6 @@
{
"name": "sori.studio",
"version": "1.12.19",
"version": "1.12.20",
"private": true,
"type": "module",
"imports": {