diff --git a/docker-compose.yml b/docker-compose.yml index 84755ec..b29eaf3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,7 @@ services: sori-studio: + image: sori-studio:latest + pull_policy: build build: context: . dockerfile: Dockerfile diff --git a/docs/deploy.md b/docs/deploy.md index 609be35..91d0923 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -236,6 +236,7 @@ docker compose --env-file .env.production up -d --build - `.env.production`은 Git에 포함하지 않는다. `git pull`로 덮어쓰이지 않는다. 값을 바꿀 때만 파일을 직접 수정한다. - `public/uploads/` 업로드 파일은 Docker 볼륨(`./public/uploads`)에 있으므로, **이미지 파일만 추가·수정한 경우** 앱 재빌드 없이도 URL로 바로 보인다. - 로컬에서 미리 확인하려면 `npm run verify` 후 NAS에서 위 명령을 실행하면 된다. +- UGREEN Docker 앱의 재배포가 너무 빨리 끝나고 앱 빌드 로그가 보이지 않으면 기존 이미지를 재사용한 것이다. 현재 Compose는 `sori-studio:latest`와 `pull_policy: build`로 앱 이미지를 다시 빌드하도록 선언하지만, NAS Docker 앱 버전이 이 값을 무시하면 터미널에서 `docker compose --env-file .env.production up -d --build`를 실행해야 한다. 컨테이너만 재시작하고 이미지는 그대로 두려면(환경 변수만 바꾼 경우 등): diff --git a/docs/history.md b/docs/history.md index c9d020e..d040b3b 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,3 +1,7 @@ +## 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`를 사용해야 한다. + ## 2026-08-13 v1.12.18 — 관리자 권한 판별은 role을 우선 신뢰한다 회원 권한의 실제 기준은 `user_role`의 owner/admin이며, 레거시 `is_admin` 플래그만 공개 헤더와 공개 로그인에서 보면 소유자 계정이 관리자 진입 링크를 보지 못할 수 있다. 따라서 공개 인증 응답과 로그인 관리자 세션 발급은 `is_admin`과 `user_role` owner/admin을 함께 보고, 헤더도 같은 기준으로 `사이트 관리`를 표시한다. NAS 운영 볼륨은 이미 존재하는 고정 볼륨을 재사용하는 구조이므로 Compose에는 외부 볼륨 선언을 추가해 Docker 앱의 프로젝트명 불일치 경고를 줄인다. diff --git a/docs/map.md b/docs/map.md index b1afe7b..b110f53 100644 --- a/docs/map.md +++ b/docs/map.md @@ -136,7 +136,7 @@ | 파일 | 용도 | |------|------| | Dockerfile | Nuxt 프로덕션 앱 이미지 빌드 | -| docker-compose.yml | Docker CLI·Buildx 가능 환경의 앱 빌드 포함 Compose 실행, 운영 PostgreSQL 고정 외부 볼륨 연결 | +| docker-compose.yml | Docker CLI·Buildx 가능 환경의 앱 빌드 포함 Compose 실행, `sori-studio:latest` 앱 이미지 재빌드 유도, 운영 PostgreSQL 고정 외부 볼륨 연결 | ## Nuxt 모듈 diff --git a/docs/update.md b/docs/update.md index f18d8a5..ed6dd9d 100644 --- a/docs/update.md +++ b/docs/update.md @@ -1,5 +1,10 @@ # 업데이트 이력 +## v1.12.19 + +- NAS Docker 앱 재배포가 기존 앱 이미지를 재사용하지 않도록 앱 서비스 이미지 이름과 `pull_policy: build` 선언 추가. +- GUI 재배포가 `docker compose up`만 실행하더라도 Compose가 앱 이미지를 다시 빌드하도록 배포 설정 보강. + ## v1.12.18 - 공개 회원 관리자 권한 판별을 `is_admin`과 `user_role` owner/admin 기준으로 통일. diff --git a/package-lock.json b/package-lock.json index 0785fdd..977debb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sori.studio", - "version": "1.12.18", + "version": "1.12.19", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sori.studio", - "version": "1.12.18", + "version": "1.12.19", "hasInstallScript": true, "dependencies": { "@nuxtjs/tailwindcss": "^6.14.0", diff --git a/package.json b/package.json index 625ddec..e142a01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sori.studio", - "version": "1.12.18", + "version": "1.12.19", "private": true, "type": "module", "imports": {