#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." PORT="${1:-${INTRANET_PORT:-8010}}" HEALTH_URL="http://127.0.0.1:${PORT}/health" if [ ! -x ".venv/bin/python" ]; then echo "가상환경이 없습니다. 먼저 아래를 실행하세요." echo "python3 -m venv .venv" echo "source .venv/bin/activate" echo "pip install -r requirements.txt" exit 1 fi if curl -fsS --max-time 2 "$HEALTH_URL" >/dev/null 2>&1; then echo "이미 실행 중입니다: $HEALTH_URL" exit 0 fi if ss -ltn "( sport = :${PORT} )" | tail -n +2 | grep -q .; then echo "포트 ${PORT} 는 이미 다른 프로세스가 사용 중입니다." echo "기존 서버가 멈춘 상태라면 먼저 종료한 뒤 다시 실행하세요." ss -ltnp "( sport = :${PORT} )" || true exit 1 fi export INTRANET_AUTO_RELOAD="${INTRANET_AUTO_RELOAD:-0}" export INTRANET_PORT="$PORT" exec ./.venv/bin/python main.py