#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT_DIR" # Optional: NOCACHE=1 ./quick_start.sh BUILD_FLAGS="" if [[ "${NOCACHE:-0}" == "1" ]]; then BUILD_FLAGS="--no-cache" fi echo "[xhs-cloud] Working dir: $ROOT_DIR" echo "[xhs-cloud] Docker: $(docker -v || true)" echo "[xhs-cloud] Compose: $(docker compose version || true)" echo "[xhs-cloud] Build flags: ${BUILD_FLAGS:-}" # Stop old containers docker compose down || true # Build images locally (avoid pulling from Docker Hub) docker compose build ${BUILD_FLAGS} --pull=false # Start (never pull) docker compose up -d --pull never echo echo "[xhs-cloud] Containers:" docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | sed -n '1,10p' echo echo "[xhs-cloud] Listening ports (expect 28000 and 26080):" ss -lntp 2>/dev/null | egrep "(:28000|:26080)" || true IP_HINT="$(hostname -I 2>/dev/null | awk '{print $1}' || true)" echo echo "[xhs-cloud] Web console: http://${IP_HINT:-}:28000/" echo "[xhs-cloud] noVNC Auto: http://${IP_HINT:-}:26080/vnc_auto.html" echo echo "[xhs-cloud] Health check (local):" curl -s -o /dev/null -w "web http_code=%{http_code}\n" http://127.0.0.1:28000/ || true curl -s -o /dev/null -w "api http_code=%{http_code}\n" http://127.0.0.1:28000/api/login/status || true echo echo "[xhs-cloud] Done."