Files
xhs_crawler/quick_start.sh
T

46 lines
1.3 KiB
Bash

#!/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:-<cache>}"
# 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:-<YOUR_IP>}:28000/"
echo "[xhs-cloud] noVNC Auto: http://${IP_HINT:-<YOUR_IP>}: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."