diff options
Diffstat (limited to 'stacks/web/scripts/dev-server.sh')
| -rwxr-xr-x | stacks/web/scripts/dev-server.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/stacks/web/scripts/dev-server.sh b/stacks/web/scripts/dev-server.sh new file mode 100755 index 0000000..00b9f0c --- /dev/null +++ b/stacks/web/scripts/dev-server.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Local dev: max25-ws-proxy + PHP built-in server (direct WebSocket to loopback proxy). +set -euo pipefail + +SRC="$(cd "$(dirname "$0")/../../.." && pwd)" +WEB="$SRC/stacks/web" +DOCROOT="$WEB/share/reverse-proxy/docroot/max25-websocket" +PROXY_INI="${MAX25_WEB_PROXY_INI:-$WEB/share/web-proxy.ini.example}" +PHP_HOST="${MAX25_WEB_PHP_HOST:-127.0.0.1}" +PHP_PORT="${MAX25_WEB_PHP_PORT:-8080}" +PROXY_PORT="${MAX25_WEB_PROXY_PORT:-7326}" + +cleanup() { + if [[ -n "${PROXY_PID:-}" ]]; then + kill "$PROXY_PID" 2>/dev/null || true + fi +} +trap cleanup EXIT + +echo "MAX25 web dev" +echo " max25d expected on 127.0.0.1:7325 (start separately)" +echo " proxy ini: $PROXY_INI" +echo " WebSocket: ws://127.0.0.1:$PROXY_PORT/max25" +echo " PHP UI: http://$PHP_HOST:$PHP_PORT/" +echo "" + +python3 "$WEB/proxy/max25-ws-proxy.py" -c "$PROXY_INI" --port "$PROXY_PORT" & +PROXY_PID=$! +sleep 0.3 + +export MAX25_DEV_WS_URL="ws://127.0.0.1:${PROXY_PORT}/max25" +php -S "$PHP_HOST:$PHP_PORT" -t "$DOCROOT" "$WEB/scripts/dev-router.php" |
