Skip to content

Port allocation

Ports are chosen to avoid common conflicts (a local Postgres on 5432, a local Redis on 6379, etc.). The container internals stay default; host-facing ports use 5433 and 6380.

ServiceHost portContainer portWhere it runs
Rocket.Chat30003000Docker
MongoDB2701727017Docker (RC backing)
Postgres + pgvector54335432Docker
Redis63806379Docker
mem0-api41004100Docker (Python sidecar)
nexus-gateway4000Bun on host
nexus-composer4001Bun on host
nexus-runtime4002Bun on host

Host ↔ container bridging

Host services reach containers via localhost:<port> (every container port is exposed). Containers do not reach back to host services in v1 — traffic is one-way (host consumes container).

The exception: Rocket.Chat's outgoing webhook needs to reach the gateway. The compose file resolves this with extra_hosts: ["host.docker.internal:host-gateway"], then RC posts to http://host.docker.internal:4000/webhook.

Dev port (Web UI)

PortPurpose
5173make web-dev — Vite dev server with HMR for the admin UI
5174make docs-dev — VitePress dev server for these docs

Production overrides

For non-LAN deployments, bind Postgres and Redis to localhost only:

yaml
postgres:
  ports: ["127.0.0.1:5433:5432"]

redis:
  ports: ["127.0.0.1:6380:6379"]

Or remove the host port mapping entirely if the gateway, composer, and runtime move into the same compose network. See Production caveats.

Released under the MIT License.