Problem
observer start currently allows the dashboard listen address to be changed only with the per-run --dashboard-addr flag. The default 127.0.0.1:8081 is hard-coded, and unlike [proxy].port, there is no durable config.toml setting.
This is inconvenient for launchd/systemd services, machines where port 8081 is already occupied, and installations that want all runtime settings managed from one config file.
Proposed configuration
For example:
[dashboard]
addr = "127.0.0.1:8082"
A split bind / port shape would also work if that better matches the project conventions.
Suggested precedence:
observer start --dashboard-addr ...
[dashboard].addr (and the normal OBSERVER_DASHBOARD_ADDR environment override)
- Existing default:
127.0.0.1:8081
Acceptance criteria
observer start reads the dashboard address from config.toml.
- The existing
--dashboard-addr flag remains backward compatible and overrides the config value.
- The Settings UI exposes the field and marks it as restart-required.
- The standalone
observer dashboard command can use the same configured default while retaining its --addr / --port overrides.
- Documentation and configuration tests cover the new setting.
Problem
observer startcurrently allows the dashboard listen address to be changed only with the per-run--dashboard-addrflag. The default127.0.0.1:8081is hard-coded, and unlike[proxy].port, there is no durableconfig.tomlsetting.This is inconvenient for launchd/systemd services, machines where port 8081 is already occupied, and installations that want all runtime settings managed from one config file.
Proposed configuration
For example:
A split
bind/portshape would also work if that better matches the project conventions.Suggested precedence:
observer start --dashboard-addr ...[dashboard].addr(and the normalOBSERVER_DASHBOARD_ADDRenvironment override)127.0.0.1:8081Acceptance criteria
observer startreads the dashboard address fromconfig.toml.--dashboard-addrflag remains backward compatible and overrides the config value.observer dashboardcommand can use the same configured default while retaining its--addr/--portoverrides.