HTTP/WebSocket router and load balancer for the Selenwright browser-automation grid
488
Stdlib-only Go router and load balancer that sits in front of N Selenwright backends and proxies:
/wd/hub/session, /session, /session/.../playwright/<browser>/<version>Enforces BasicAuth + guest + admin-token scopes, per-user session quotas, weighted region routing, backend health with cooldown, and SIGHUP fail-closed config reload.
golang:1.26.2-alpine → alpine:3.23)CGO_ENABLED=0, -trimpath -ldflags="-s -w"65532:655324444 (main listener) and 9090 (optional metrics listener)ENTRYPOINT is the gridlane binary — every argument becomes a CLI flag| Tag | Published On |
|---|---|
latest | Every push to main |
latest-release | Every GitHub release |
<version> (e.g. 0.3.1) | Per-release semver tag |
Pin production deployments to a specific semver tag, not latest-release.
docker run -d --name gridlane \
-p 4444:4444 -p 9090:9090 \
-v $(pwd)/router.json:/etc/gridlane/router.json:ro \
-e GRIDLANE_ALICE_PASSWORD=wonderland \
-e GRIDLANE_ADMIN_TOKEN=root-token \
selenwright/gridlane:latest-release \
-config /etc/gridlane/router.json \
-metrics-listen :9090 \
-log-format json
Content type
Image
Digest
sha256:93b4f1c48…
Size
7 MB
Last updated
4 months ago
docker pull selenwright/gridlane