Phase 9: noVNC를 PVE host가 아닌 CT 내부에서 pct exec로 실행

- noVNC는 Ubuntu CT(ubuntu-api)에서 돌아야 함
- pct exec로 CT 안에서 설치 스크립트 실행
- CT 내부에 이미 설치돼있으면 스킵

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude
2026-04-08 14:02:24 +00:00
parent 16fd28662c
commit 05b01e111b

View File

@@ -1072,22 +1072,25 @@ EOF
# Phase 9: noVNC 웹 서비스 설치
# ============================================================
phase9_novnc_setup() {
print_phase "Phase 9/10: noVNC 웹 서비스 설치"
print_phase "Phase 9/10: noVNC 웹 서비스 설치 (CT 내부)"
# 이미 설치되어있으면 스킵
if [ -d "/srv/pharmq-novnc" ] && systemctl is-active --quiet pharmq-vnc-app.service 2>/dev/null; then
print_ok "noVNC 이미 설치됨 — 스킵"
if [ -z "${CT_VMID:-}" ]; then
print_warn "CT VMID가 없어서 noVNC 설치를 건너뜁니다."
return 1
fi
# CT 내부에서 이미 설치되어있는지 확인
if pct exec "$CT_VMID" -- test -d /srv/pharmq-novnc 2>/dev/null && \
pct exec "$CT_VMID" -- systemctl is-active --quiet pharmq-vnc-app.service 2>/dev/null; then
print_ok "noVNC 이미 설치됨 (CT $CT_VMID) — 스킵"
return 0
fi
# noVNC 설치 스크립트를 별도로 실행 (대화형 요소가 많아서)
print_step "noVNC 설치 스크립트 다운로드 및 실행 중..."
curl -fsSL https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/VNC/pharmq-novnc-setup.sh -o /tmp/pharmq-novnc-setup.sh
chmod +x /tmp/pharmq-novnc-setup.sh
bash /tmp/pharmq-novnc-setup.sh || true
rm -f /tmp/pharmq-novnc-setup.sh
# CT 안에서 noVNC 설치 스크립트 실행
print_step "CT $CT_VMID 내부에 noVNC 설치 중..."
pct exec "$CT_VMID" -- bash -c "curl -fsSL https://git.0bin.in/thug0bin/pve9-repo-fix/raw/branch/main/VNC/pharmq-novnc-setup.sh -o /tmp/pharmq-novnc-setup.sh && chmod +x /tmp/pharmq-novnc-setup.sh && bash /tmp/pharmq-novnc-setup.sh; rm -f /tmp/pharmq-novnc-setup.sh" || true
print_ok "Phase 9 완료: noVNC 설치"
print_ok "Phase 9 완료: noVNC 설치 (CT $CT_VMID)"
}
# ============================================================