33 lines
909 B
Bash
Executable File
33 lines
909 B
Bash
Executable File
#!/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
|