Compare commits

..

2 Commits

Author SHA1 Message Date
ttipo 6db7b1d67e Merge branch 'fix/upload-volume' 2026-07-21 23:39:02 +09:00
ttipo da65799e2a fix: 업무 첨부 저장 경로에 볼륨 연결
backend 컨테이너에 볼륨이 없어 업무 첨부가 컨테이너 내부에만 쌓였고,
재배포로 컨테이너가 교체될 때 파일이 모두 사라졌다. DB 의 첨부 레코드는
남아 있어 목록에는 보이지만 다운로드는 실패한다.

- backend 에 UPLOAD_DIR=/app/uploads 주입 + ${UPLOAD_DATA_DIR} 볼륨 연결
- 루트 env 예시에 UPLOAD_DATA_DIR 추가(다른 *_DATA_DIR 과 동일한 규격)

이미 유실된 파일은 복구되지 않는다.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 23:37:21 +09:00
3 changed files with 20 additions and 0 deletions
+7
View File
@@ -38,6 +38,13 @@ REDIS_IMAGE=redis:7-alpine
REDIS_PASSWORD=change-me-redis-password
REDIS_DATA_DIR=./data/redis
# ==========================================
# 업로드(업무 첨부)
# ==========================================
# UPLOAD_DATA_DIR: 업무 첨부 파일 보관 경로(호스트). 컨테이너의 /app/uploads 에 마운트된다.
# 볼륨이 없으면 재배포 시 첨부 파일이 유실된다.
UPLOAD_DATA_DIR=./data/uploads
# ==========================================
# API 경로
# ==========================================
+7
View File
@@ -38,6 +38,13 @@ REDIS_IMAGE=redis:7-alpine
REDIS_PASSWORD=change-me-redis-password
REDIS_DATA_DIR=./data/redis
# ==========================================
# 업로드(업무 첨부)
# ==========================================
# UPLOAD_DATA_DIR: 업무 첨부 파일 보관 경로(호스트). 컨테이너의 /app/uploads 에 마운트된다.
# 볼륨이 없으면 재배포 시 첨부 파일이 유실된다.
UPLOAD_DATA_DIR=./data/uploads
# ==========================================
# API 경로
# ==========================================
+6
View File
@@ -77,6 +77,12 @@ services:
# 웹 푸시(VAPID) — 비밀 아닌 값만 루트에서 주입(PRIVATE_KEY 는 backend env_file)
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- VAPID_SUBJECT=${VAPID_SUBJECT}
# 업무 첨부 저장 경로(컨테이너 내부) — 아래 볼륨과 짝을 이룬다
- UPLOAD_DIR=/app/uploads
volumes:
# 업무 첨부는 로컬 디스크에 저장된다. 볼륨이 없으면 재배포로 컨테이너가
# 교체될 때 파일이 모두 사라지고, DB 의 첨부 레코드만 남아 다운로드가 실패한다.
- ${UPLOAD_DATA_DIR}:/app/uploads
restart: unless-stopped
networks:
- app-network