start_event_server.sh
1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/data/data/com.termux/files/usr/bin/bash
# Start Android Event Bus Server
# Runs on 127.0.0.1:8765 inside Termux
HERMES_HOME="$HOME/.hermes"
HERMES_AGENT="$HERMES_HOME/hermes-agent"
PYTHON="$HERMES_AGENT/venv/bin/python"
UVICORN="$HERMES_AGENT/venv/bin/uvicorn"
SERVER_SCRIPT="$HERMES_HOME/event_bus/event_server.py"
LOG_FILE="$HERMES_HOME/logs/event_server.log"
PID_FILE="$HERMES_HOME/event_bus/event_server.pid"
mkdir -p "$HERMES_HOME/event_bus" "$HERMES_HOME/logs"
# Copy server script if not present or if newer version pushed
if [ ! -f "$SERVER_SCRIPT" ]; then
echo "[event_bus] event_server.py not found at $SERVER_SCRIPT" >&2
exit 1
fi
# Check if already running
if [ -f "$PID_FILE" ]; then
PID=$(cat "$PID_FILE")
if kill -0 "$PID" 2>/dev/null; then
echo "[event_bus] Already running (pid $PID)"
exit 0
fi
fi
echo "[event_bus] Starting event server..."
cd "$HERMES_HOME/event_bus"
EVENT_BUS_DB="$HERMES_HOME/event_bus/events.db" \
nohup "$UVICORN" event_server:app \
--host 127.0.0.1 \
--port 8765 \
--log-level warning \
>> "$LOG_FILE" 2>&1 &
PID=$!
echo $PID > "$PID_FILE"
sleep 1
if kill -0 "$PID" 2>/dev/null; then
echo "[event_bus] Started (pid $PID) on http://127.0.0.1:8765"
else
echo "[event_bus] Failed to start, check $LOG_FILE" >&2
exit 1
fi