#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT_DIR" PORT="${1:-4173}" PID_FILE=".offline-server.pid" LOG_FILE=".offline-server.log" if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then echo "Offline server already running on PID $(cat "$PID_FILE")." echo "Open: http://127.0.0.1:${PORT}/" exit 0 fi rm -f "$PID_FILE" ln -sf ikfreunde.com.html index.html nohup python3 -m http.server "$PORT" --bind 127.0.0.1 >"$LOG_FILE" 2>&1 & SERVER_PID=$! echo "$SERVER_PID" > "$PID_FILE" sleep 0.3 if ! kill -0 "$SERVER_PID" 2>/dev/null; then echo "Failed to start offline server on port $PORT." echo "Check log: $ROOT_DIR/$LOG_FILE" rm -f "$PID_FILE" exit 1 fi echo "Offline server started (PID $SERVER_PID)." echo "Open: http://127.0.0.1:${PORT}/" echo "Log: $ROOT_DIR/$LOG_FILE"