fix(deployer): deploy.sh 4 화이트리스트에 packs-lab 추가 + media/packs 자동 생성

deployer가 webhook 받을 때 packs-lab을 자동 rebuild·재시작·헬스체크 안 하던
근본 원인 — deploy.sh의 BUILD_TARGETS / CONTAINER_NAMES / HEALTH_ENDPOINTS
3개 화이트리스트에서 packs-lab 누락. SERVICES 화이트리스트(deploy-nas.sh)는
rsync 동기화용이라 별도이며 거기엔 이전에 추가했지만 빌드 트리거는 deploy.sh가
담당.

Fix:
- BUILD_TARGETS, CONTAINER_NAMES, HEALTH_ENDPOINTS에 packs-lab 추가
- media/packs 디렉토리 자동 mkdir + chown (admin이 수동 생성하던 절차 제거)
- DATA_DIRS는 path 다르니(data/X 아닌 media/packs) 제외

이번 push 자체는 옛 deploy.sh로 처리되지만 새 deploy.sh가 RUNTIME에 sync된 후
다음 push부터 packs-lab이 자동 빌드·헬스체크된다.
This commit is contained in:
2026-05-11 04:07:02 +09:00
parent b792cdb8d5
commit fb54998def

View File

@@ -7,12 +7,12 @@ flock -n 200 || { echo "Deploy already running, skipping"; exit 0; }
# ── 서비스 목록 (한 곳에서만 관리) ──
# docker compose 서비스명 (deployer 제외 — 자기 자신을 재빌드하면 스크립트 중단)
BUILD_TARGETS="lotto travel-proxy stock-lab music-lab blog-lab realestate-lab agent-office personal frontend"
BUILD_TARGETS="lotto travel-proxy stock-lab music-lab blog-lab realestate-lab agent-office personal packs-lab frontend"
# 컨테이너 이름 (고아 정리용)
CONTAINER_NAMES="lotto stock-lab music-lab blog-lab realestate-lab agent-office personal travel-proxy frontend"
CONTAINER_NAMES="lotto stock-lab music-lab blog-lab realestate-lab agent-office personal packs-lab travel-proxy frontend"
# 헬스체크 대상
HEALTH_ENDPOINTS="lotto stock-lab travel-proxy music-lab blog-lab realestate-lab agent-office personal"
# data 디렉토리
HEALTH_ENDPOINTS="lotto stock-lab travel-proxy music-lab blog-lab realestate-lab agent-office personal packs-lab"
# data 디렉토리 (packs-lab은 별도 media/packs 사용)
DATA_DIRS="music stock blog realestate agent-office personal"
# 1. 자동 감지: Docker 컨테이너 내부인가?
@@ -75,6 +75,10 @@ for d in $DATA_DIRS; do
mkdir -p "$DST/data/$d"
done
# packs-lab media 디렉토리 (DSM 공유 + admin upload target)
mkdir -p "$DST/media/packs"
chown "${DEPLOY_UID}:${DEPLOY_GID}" "$DST/media/packs" 2>/dev/null || true
# ── 서비스 재빌드 (deployer 제외) ──
cd "$DST"