diff --git a/scripts/deploy-nas.sh b/scripts/deploy-nas.sh index e0a23a0..d3a3048 100644 --- a/scripts/deploy-nas.sh +++ b/scripts/deploy-nas.sh @@ -63,12 +63,27 @@ rsync -rl --no-owner --no-group "$SRC/docker-compose.yml" "$DST/docker-compose.y } # 파일 권한 설정 — bgg8988:users 755 +# 에러는 로그로 남기되 배포는 계속 (Synology ACL 이슈가 있어도 서비스 자체는 동작) echo "Setting ownership ${DEPLOY_USER}:${DEPLOY_GROUP} and mode ${DEPLOY_MODE}..." +CHOWN_FAILED=0 for dir in $SERVICES; do - chown -R "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/$dir/" 2>/dev/null || true - chmod -R "$DEPLOY_MODE" "$DST/$dir/" 2>/dev/null || true + # 디렉토리 자체 + 내부 항목 모두 재귀 chown (trailing slash 제거) + if [ -e "$DST/$dir" ]; then + if ! chown -R "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/$dir"; then + echo "WARN: chown failed for $DST/$dir" + CHOWN_FAILED=1 + fi + chmod -R "$DEPLOY_MODE" "$DST/$dir" || echo "WARN: chmod failed for $DST/$dir" + fi done -chown "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/docker-compose.yml" 2>/dev/null || true -chmod "$DEPLOY_MODE" "$DST/docker-compose.yml" 2>/dev/null || true +if ! chown "${DEPLOY_USER}:${DEPLOY_GROUP}" "$DST/docker-compose.yml"; then + echo "WARN: chown failed for $DST/docker-compose.yml" + CHOWN_FAILED=1 +fi +chmod "$DEPLOY_MODE" "$DST/docker-compose.yml" || echo "WARN: chmod failed for docker-compose.yml" + +if [ "$CHOWN_FAILED" = "1" ]; then + echo "NOTE: 일부 파일 소유권 설정 실패. NAS에서 직접 'sudo chown -R ${DEPLOY_USER}:${DEPLOY_GROUP} $DST' 실행 권장" +fi echo "SYNC_OK"