fix(momo): /data_storage 를 named volume 으로 전환 — 업로드 EACCES 해소
Deploy momo-erp / deploy (push) Successful in 53s
Deploy momo-erp / deploy (push) Successful in 53s
호스트 바인드 마운트는 docker compose 가 root 소유로 자동 생성해 컨테이너 nextjs(uid 1001) 가 mkdir 불가. named volume(momo_data_storage) 은 Dockerfile 의 chown nextjs:nodejs 를 그대로 복제하여 권한 문제 사라짐. deploy.sh 의 host-side mkdir/chmod 도 더 이상 불필요하므로 제거.
This commit is contained in:
@@ -12,9 +12,11 @@ services:
|
||||
env_file:
|
||||
- .env.production
|
||||
volumes:
|
||||
- ./data_storage:/data_storage
|
||||
# 업로드 이미지 영구 저장 (컨테이너 재빌드 시에도 보존)
|
||||
- ./public/uploads:/app/public/uploads
|
||||
# 업로드 이미지 영구 저장 — named volume 사용
|
||||
# (호스트 바인드 마운트 시 root 소유로 자동 생성되어 nextjs uid 1001 의 mkdir 권한 부족.
|
||||
# named volume 은 이미지의 /data_storage 디렉토리(Dockerfile 에서 chown nextjs:nodejs)를
|
||||
# 볼륨 초기화 시 그대로 복제하므로 권한 문제 없음.)
|
||||
- momo_data_storage:/data_storage
|
||||
# 자가 배포: webhook 이 호스트의 deploy.sh 를 실행하기 위함
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./scripts/deploy.sh:/deploy/deploy.sh:ro
|
||||
@@ -34,3 +36,6 @@ services:
|
||||
networks:
|
||||
traefik-net:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
momo_data_storage:
|
||||
|
||||
+1
-4
@@ -10,10 +10,7 @@ echo "[$(date)] git fetch + reset --hard origin/main"
|
||||
git fetch origin
|
||||
git reset --hard origin/main
|
||||
|
||||
# 업로드 디렉토리 보장 (컨테이너 마운트 경로)
|
||||
mkdir -p public/uploads/items
|
||||
chmod -R 777 public/uploads || true
|
||||
|
||||
# 업로드 저장은 named volume(momo_data_storage)으로 이전됨 — 호스트 디렉토리 prep 불필요
|
||||
echo "[$(date)] docker compose up --build"
|
||||
docker compose -f docker-compose.prod.yml up -d --build
|
||||
|
||||
|
||||
Reference in New Issue
Block a user