gastownhall/beads · error

--proxied-server-port requires --proxied-server

Error message

--proxied-server-port requires --proxied-server

What it means

`--proxied-server-port` configures the TCP port of the proxy in front of the managed dolt sql-server and is only meaningful when `--proxied-server` is set. If the port flag is given without `--proxied-server`, init rejects the combination (cmd/bd/init.go:480-483).

Source

Thrown at cmd/bd/init.go:482

			}
			if err := validateProxiedServerLogPath(serverLogPath); err != nil {
				return fmt.Errorf("--proxied-server-log-path %v", err)
			}
		}
		if serverRootPath != "" {
			if !initProxiedServer {
				return fmt.Errorf("--proxied-server-root-path requires --proxied-server")
			}
			if !filepath.IsAbs(serverRootPath) {
				return fmt.Errorf("--proxied-server-root-path must be an absolute path, got %q", serverRootPath)
			}
			if err := validateProxiedServerRootPath(serverRootPath); err != nil {
				return fmt.Errorf("--proxied-server-root-path %v", err)
			}
		}
		if serverProxyPort != 0 {
			if !initProxiedServer {
				return fmt.Errorf("--proxied-server-port requires --proxied-server")
			}
			if serverProxyPort < 1 || serverProxyPort > 65535 {
				return fmt.Errorf("--proxied-server-port must be between 1 and 65535, got %d", serverProxyPort)
			}
		}
		if idleTimeoutSet {
			if !initProxiedServer {
				return fmt.Errorf("--proxied-server-idle-timeout requires --proxied-server")
			}
			if serverProxyIdleTimeout < 0 {
				return fmt.Errorf("--proxied-server-idle-timeout must be 0 (never) or a positive duration, got %s", serverProxyIdleTimeout)
			}
			if serverProxyIdleTimeout == 0 {
				serverProxyIdleTimeout = proxy.IdleTimeoutNever
			}
		}

		externalProvided := externalHost != "" || externalPort != 0 || externalSocketPath != "" ||

View on GitHub (pinned to 71377f2769)

Solutions

  1. Add `--proxied-server` to the command.
  2. Set BEADS_DOLT_PROXIED_SERVER=1 in the environment instead of the flag.
  3. Drop `--proxied-server-port` if proxy mode is not wanted (default proxy port will not be configured).

Example fix

// before
bd init --proxied-server-port 8165
// after
bd init --proxied-server --proxied-server-port 8165
Defensive patterns

Strategy: validation

Validate before calling

#!/usr/bin/env bash
if [[ -n "$PROXY_PORT" ]] && [[ -z "$PROXIED" ]]; then
  echo "--proxied-server-port requires --proxied-server" >&2; exit 2
fi

Type guard

func portFlagValid(useProxied bool, portSet bool) bool { return !portSet || useProxied }

Try / catch

if out, err := exec.Command("bd", "init", args...).CombinedOutput(); err != nil {
    if strings.Contains(string(out), "--proxied-server-port requires --proxied-server") {
        // add --proxied-server or drop the port flag
    }
}

Prevention

When it happens

Trigger: Running `bd init --proxied-server-port 8165` without `--proxied-server`; check is `serverProxyPort != 0 && !initProxiedServer`. Also triggered when scripts set the port via flags but the --proxied-server toggle comes only from BEADS_DOLT_PROXIED_SERVER env that is missing.

Common situations: Reusing a shared flag template across `bd init --server` and proxied modes; port flag left behind after switching deployment mode from proxied to plain; operator assumed the port flag alone would enable proxy mode.

Related errors


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/31ea19abd50f0dfa. Report an issue: GitHub.