#!/bin/sh set -eu ROOT="/Users/kris/code/StoryForge" PID_FILE="$ROOT/data/collector/collector.pid" LOG_FILE="$ROOT/data/collector/collector.log" VENV="$ROOT/collector-service/.venv311" mkdir -p "$ROOT/data/collector" if [ ! -x "$VENV/bin/python" ]; then /opt/homebrew/bin/python3.11 -m venv "$VENV" . "$VENV/bin/activate" pip install -q -r "$ROOT/collector-service/requirements.txt" else . "$VENV/bin/activate" fi if [ -f "$PID_FILE" ]; then PID="$(cat "$PID_FILE" || true)" if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then echo "collector already running: $PID" exit 0 fi fi cd "$ROOT/collector-service" nohup "$VENV/bin/python" -m uvicorn app.main:app --host 0.0.0.0 --port 8081 >"$LOG_FILE" 2>&1 & echo $! > "$PID_FILE" echo "collector started: $(cat "$PID_FILE")"