NAS Docker 앱 이미지 실행 배포 설정 추가
This commit is contained in:
39
docker-compose.nas.yml
Normal file
39
docker-compose.nas.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
services:
|
||||
sori-studio:
|
||||
image: ${SORI_STUDIO_IMAGE:-sori-studio:latest}
|
||||
container_name: sori-studio
|
||||
env_file:
|
||||
- ${ENV_FILE:-.env.production}
|
||||
ports:
|
||||
- "${APP_PORT:-43080}:3000"
|
||||
volumes:
|
||||
- ./public/uploads:/app/public/uploads
|
||||
depends_on:
|
||||
- sori-studio-db
|
||||
networks:
|
||||
- sori-studio-network
|
||||
restart: unless-stopped
|
||||
|
||||
sori-studio-db:
|
||||
image: postgres:16-alpine
|
||||
container_name: sori-studio-db
|
||||
env_file:
|
||||
- ${ENV_FILE:-.env.production}
|
||||
ports:
|
||||
- "${DB_BIND_ADDRESS:-127.0.0.1}:${DB_PORT:-43081}:5432"
|
||||
volumes:
|
||||
- sori-studio-postgres:/var/lib/postgresql/data
|
||||
- ./db/migrations:/docker-entrypoint-initdb.d:ro
|
||||
networks:
|
||||
- sori-studio-network
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
sori-studio-postgres:
|
||||
|
||||
networks:
|
||||
sori-studio-network:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: ${DOCKER_SUBNET:-10.250.50.0/24}
|
||||
@@ -233,6 +233,25 @@ docker compose --env-file .env.production up -d --build
|
||||
docker compose --env-file .env.production up -d
|
||||
```
|
||||
|
||||
### UGREEN NAS Docker 앱 Buildx 우회
|
||||
|
||||
UGREEN NAS Docker 앱에서 `Docker Compose requires buildx plugin to be installed` 경고가 뜨면 NAS 앱이 `Dockerfile` 빌드를 직접 수행하지 못하는 상태다. 이때는 로컬에서 앱 이미지를 만든 뒤 NAS Docker 앱에 가져오고, NAS에서는 `build:`가 없는 `docker-compose.nas.yml`로 실행한다.
|
||||
|
||||
로컬 Mac에서 NAS용 이미지를 만든다. DXP6800 Pro 같은 Intel NAS 기준은 `linux/amd64`다.
|
||||
|
||||
```bash
|
||||
docker buildx build --platform linux/amd64 -t sori-studio:latest --load .
|
||||
docker save sori-studio:latest -o sori-studio-latest.tar
|
||||
```
|
||||
|
||||
NAS Docker 앱에서 `sori-studio-latest.tar` 이미지를 가져온 뒤, Compose 생성 화면에는 `docker-compose.nas.yml` 내용을 사용한다. 이 파일은 앱 서비스를 `image: ${SORI_STUDIO_IMAGE:-sori-studio:latest}`로 실행하므로 NAS에서 Buildx 빌드를 시도하지 않는다.
|
||||
|
||||
SSH를 쓸 수 있는 NAS에서는 같은 파일로 아래처럼 실행할 수 있다.
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.nas.yml up -d
|
||||
```
|
||||
|
||||
코드 변경 없이 `.env.production`만 수정했다면 `--build` 없이 `up -d`만으로 충분하다.
|
||||
|
||||
### Google 로그인 설정
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 2026-08-13 v1.12.13 — UGREEN Docker 앱은 빌드 대신 이미지 실행 경로를 둔다
|
||||
|
||||
UGREEN NAS Docker 앱에서 Compose 프로젝트를 만들 때 Buildx 플러그인 없이 `build:` 서비스를 처리하지 못하는 환경이 확인됐다. 기본 `docker-compose.yml`은 Docker CLI나 Buildx가 있는 환경에서 기존처럼 Dockerfile 빌드를 수행하도록 유지하되, NAS GUI 배포에는 `build:`를 제거한 `docker-compose.nas.yml`을 별도로 둔다. 이 경로에서는 로컬에서 `sori-studio:latest` 이미지를 만든 뒤 NAS Docker 앱에 가져오고, NAS는 이미지를 실행만 하므로 Buildx 설치 여부에 막히지 않는다.
|
||||
|
||||
## 2026-07-29 v1.12.11 — CSP unknown은 가능한 한 구분해서 관찰한다
|
||||
|
||||
`frame-src unknown`처럼 출처가 비어 보이는 보고는 실제 외부 서비스 차단인지, 빈 iframe·`about:blank`·브라우저 확장 프로그램이 만든 보고인지 구분하기 어렵다. Report-Only 관찰 초반에는 이런 분류가 허용 목록 판단의 잡음을 크게 만들 수 있으므로, 빈 blocked-uri는 `empty`, `about:blank` 계열은 `about:`, 확장 프로그램 URL은 브라우저별 extension scheme으로 따로 집계한다. 이 값들은 외부 origin 허용 후보가 아니라 원인 추적용 신호로만 본다.
|
||||
|
||||
@@ -122,6 +122,14 @@
|
||||
| docs/update-log/v1.11.md | 방문자용 업데이트 공지 초안(v1.10 개발 구간) |
|
||||
| docs/update-log/v1.12.md | 방문자용 업데이트 공지 초안(v1.11 개발 구간) |
|
||||
|
||||
## Docker
|
||||
|
||||
| 파일 | 용도 |
|
||||
|------|------|
|
||||
| Dockerfile | Nuxt 프로덕션 앱 이미지 빌드 |
|
||||
| docker-compose.yml | Docker CLI·Buildx 가능 환경의 앱 빌드 포함 Compose 실행 |
|
||||
| docker-compose.nas.yml | UGREEN NAS Docker 앱처럼 Buildx 없이 가져온 앱 이미지를 실행하는 Compose 설정 |
|
||||
|
||||
## Nuxt 모듈
|
||||
|
||||
| 파일 | 용도 |
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# 업데이트 이력
|
||||
|
||||
## v1.12.13
|
||||
|
||||
- UGREEN NAS Docker 앱에서 Buildx 없이 가져온 앱 이미지를 실행할 수 있도록 `docker-compose.nas.yml` 추가.
|
||||
- NAS Docker 앱 Buildx 경고 우회용 로컬 이미지 빌드·가져오기 배포 절차 문서화.
|
||||
|
||||
## v1.12.12
|
||||
|
||||
- UGREEN NAS Docker 앱 배포에서 `--env-file` 없이 Compose를 실행해도 PostgreSQL 환경 변수 치환 경고가 뜨지 않도록 DB 서비스 중복 환경 변수 선언 제거.
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "sori.studio",
|
||||
"version": "1.12.12",
|
||||
"version": "1.12.13",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "sori.studio",
|
||||
"version": "1.12.12",
|
||||
"version": "1.12.13",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@nuxtjs/tailwindcss": "^6.14.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "sori.studio",
|
||||
"version": "1.12.12",
|
||||
"version": "1.12.13",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"imports": {
|
||||
|
||||
Reference in New Issue
Block a user