Skip to content

Port Registry

v7 services

ServicePortEnv varNotes
gordon-data8081GORDON_DATA_BIND_ADDRDocker-internal
gordon-risk8082GORDON_RISK_BIND_ADDRDocker-internal
gordon-manager8083GORDON_MANAGER__BIND_ADDRDocker-internal
gordon-bot8084GORDON_BOT_BIND_ADDRContainer-internal; host port dynamically assigned by manager reconciler
gordon-executor8085GORDON_EXECUTOR_BIND_ADDRDocker-internal
gordon-console3000Next.js defaultOperator-exposed on srv-apps behind nginx
postgres5432Docker-internal
nats4222GORDON_BUS_NATS_URLDocker-internal

E2E / testing

ServicePortNotes
mock-binance REST (spot)8181E2e stack only
mock-binance WS (perp)8182E2e stack only
postgres (test)5433make test-up — isolated test database

Network exposure

Only gordon-console:3000 is operator-exposed on srv-apps, behind nginx. All other services are Docker-internal (not reachable from outside the Docker network).

Bind address overrides are URL-validated at startup. A typo fails boot rather than silently falling back to a default.

Dev mode (host execution via overmind)

In Procfile.dev / .env.dev.example, bind addresses are set to 127.0.0.1 (loopback only):

GORDON_DATA_BIND_ADDR=127.0.0.1:8081
GORDON_RISK_BIND_ADDR=127.0.0.1:8082
GORDON_MANAGER__BIND_ADDR=127.0.0.1:8083
GORDON_BOT_BIND_ADDR=127.0.0.1:8084
GORDON_EXECUTOR_BIND_ADDR=127.0.0.1:8085

Gordon — keep compounding without blowing up