summaryrefslogtreecommitdiff
path: root/stacks/web/scripts/dev-server.sh
blob: 00b9f0cccf1719615c76fa6e2908ff62d8d88825 (plain)
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
#!/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"
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com