AI-Object-Detection-Exhibition/start.sh

38 lines
987 B
Bash

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
PORT="${PORT:-8000}"
APP_URL="http://localhost:${PORT}/index.html"
LOG_FILE="${TMPDIR:-/tmp}/ai-night-vision-http-server.log"
cleanup() {
if [[ -n "${SERVER_PID:-}" ]] && kill -0 "${SERVER_PID}" 2>/dev/null; then
kill "${SERVER_PID}" 2>/dev/null || true
wait "${SERVER_PID}" 2>/dev/null || true
fi
}
trap cleanup EXIT INT TERM
python3 -m http.server "${PORT}" >"${LOG_FILE}" 2>&1 &
SERVER_PID=$!
sleep 1
if ! kill -0 "${SERVER_PID}" 2>/dev/null; then
echo "Failed to start Python HTTP server on port ${PORT}."
echo "Check log: ${LOG_FILE}"
exit 1
fi
if command -v xdg-open >/dev/null 2>&1; then
xdg-open "${APP_URL}" >/dev/null 2>&1 || true
elif command -v open >/dev/null 2>&1; then
open "${APP_URL}" >/dev/null 2>&1 || true
fi
echo "AI Night Vision Camera is running."
echo "Open: ${APP_URL}"
echo "Server log: ${LOG_FILE}"
echo "Keep this window open. Press Ctrl+C to stop."
wait "${SERVER_PID}"