Skip to content

Commit 3ccf056

Browse files
docs(connect): clearer WS port preflight prompt, default to disable (#69)
When the WS port is already taken, the installer now explains that the WS sink is an optional local WebSocket (a shred -> jito-shredstream setup does not use it), spells out each option's consequence, and defaults to disable rather than continue — the port is known taken, so continuing was the one choice guaranteed to fail to bind.
1 parent 728b6c1 commit 3ccf056

4 files changed

Lines changed: 13 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
301301
- **WebSocket port preflight**: before starting the container the installer checks whether the WS
302302
port is already bound on the host and, interactively, offers to pick another port, disable the
303303
sink, or continue (non-interactively it warns and continues — the bridge then runs without the
304-
sink, tunnel unaffected).
304+
sink, tunnel unaffected). The interactive prompt now explains what the WS sink is (an *optional*
305+
local WebSocket a shred → jito-shredstream setup does not use), spells out each option's
306+
consequence, and **defaults to disable** rather than continue — the port is already known taken,
307+
so continuing was the one choice guaranteed to fail to bind.
305308
- **`WS_BIND=""` now works through the one-liner**: `WS_BIND` is forwarded whenever it is *set*,
306309
including set-but-empty, so the WS sink can be disabled straight from the pipe (previously only
307310
non-empty values were relayed, forcing a hand-written `docker run`).

scripts/connect-devnet.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,10 @@ preflight_ws_port() {
437437
local who=""
438438
command -v ss >/dev/null 2>&1 && who="$($SUDO ss -Hltnp 2>/dev/null | awk -v p=":${p}\$" '$4 ~ p {print $NF; exit}')"
439439
warn "TCP port $p is already in use${who:+ ($who)}; the WS market-data sink can't bind there."
440+
info "The WS market-data sink is an OPTIONAL local WebSocket that re-serves ingested feed data to consumers on this host."
441+
info "A shred -> jito-shredstream setup does NOT use it; if nothing on this host consumes it, disabling is safe (it does not affect shred forwarding or the DoubleZero tunnel)."
440442
if [ -r "$TTY" ] && [ "$DZ_ASSUME_YES" != 1 ]; then
441-
local choice; choice="$(ask 'WS port in use — [p]ick another port, [d]isable the WS sink, or [c]ontinue anyway' 'c')"
443+
local choice; choice="$(ask 'WS port in use — [p] pick another port, [d] disable the sink (clean: no sink, no bind error), [c] continue anyway (bridge starts but the sink fails to bind; fine only if you do not use it)' 'd')"
442444
case "$choice" in
443445
p|P) local np; np="$(ask 'New WS port' '8181')"; WS_BIND="0.0.0.0:${np}"; WS_PORT="$np"
444446
info "WS sink will use 0.0.0.0:${np}."; preflight_ws_port ;; # re-check the new choice

scripts/connect-testnet.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,10 @@ preflight_ws_port() {
432432
local who=""
433433
command -v ss >/dev/null 2>&1 && who="$($SUDO ss -Hltnp 2>/dev/null | awk -v p=":${p}\$" '$4 ~ p {print $NF; exit}')"
434434
warn "TCP port $p is already in use${who:+ ($who)}; the WS market-data sink can't bind there."
435+
info "The WS market-data sink is an OPTIONAL local WebSocket that re-serves ingested feed data to consumers on this host."
436+
info "A shred -> jito-shredstream setup does NOT use it; if nothing on this host consumes it, disabling is safe (it does not affect shred forwarding or the DoubleZero tunnel)."
435437
if [ -r "$TTY" ] && [ "$DZ_ASSUME_YES" != 1 ]; then
436-
local choice; choice="$(ask 'WS port in use — [p]ick another port, [d]isable the WS sink, or [c]ontinue anyway' 'c')"
438+
local choice; choice="$(ask 'WS port in use — [p] pick another port, [d] disable the sink (clean: no sink, no bind error), [c] continue anyway (bridge starts but the sink fails to bind; fine only if you do not use it)' 'd')"
437439
case "$choice" in
438440
p|P) local np; np="$(ask 'New WS port' '8181')"; WS_BIND="0.0.0.0:${np}"; WS_PORT="$np"
439441
info "WS sink will use 0.0.0.0:${np}."; preflight_ws_port ;; # re-check the new choice

scripts/connect.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,10 @@ preflight_ws_port() {
432432
local who=""
433433
command -v ss >/dev/null 2>&1 && who="$($SUDO ss -Hltnp 2>/dev/null | awk -v p=":${p}\$" '$4 ~ p {print $NF; exit}')"
434434
warn "TCP port $p is already in use${who:+ ($who)}; the WS market-data sink can't bind there."
435+
info "The WS market-data sink is an OPTIONAL local WebSocket that re-serves ingested feed data to consumers on this host."
436+
info "A shred -> jito-shredstream setup does NOT use it; if nothing on this host consumes it, disabling is safe (it does not affect shred forwarding or the DoubleZero tunnel)."
435437
if [ -r "$TTY" ] && [ "$DZ_ASSUME_YES" != 1 ]; then
436-
local choice; choice="$(ask 'WS port in use — [p]ick another port, [d]isable the WS sink, or [c]ontinue anyway' 'c')"
438+
local choice; choice="$(ask 'WS port in use — [p] pick another port, [d] disable the sink (clean: no sink, no bind error), [c] continue anyway (bridge starts but the sink fails to bind; fine only if you do not use it)' 'd')"
437439
case "$choice" in
438440
p|P) local np; np="$(ask 'New WS port' '8181')"; WS_BIND="0.0.0.0:${np}"; WS_PORT="$np"
439441
info "WS sink will use 0.0.0.0:${np}."; preflight_ws_port ;; # re-check the new choice

0 commit comments

Comments
 (0)