Bondy Connect is open-source, highly scalable application networking platform
10K+

Bondy Connect is an open-source application networking platform. It connects the parts of a distributed application — web and mobile apps, IoT devices, backend services and AI agents — through one protocol. Each part calls and notifies the others without knowing where they run.
Bondy Connect implements the Web Application Messaging Protocol (WAMP), an open standard that combines Remote Procedure Calls (RPC) and Publish/Subscribe. Around the WAMP router, Bondy Connect adds an HTTP API Gateway, an MCP gateway, an HTTP connector, broker bridges, identity management and role-based access control. A Bondy Connect cluster replicates realms, identities, permissions and API specifications to every node.
Source, documentation and the full feature list: github.com/bondy-io/bondy-connect.
Bondy is now Bondy Connect. From 1.0.0, the images are published here and at
ghcr.io/bondy-io/bondy-connect. The image startsbondy-connect foreground; usebondy-connectin place ofbondyindocker execcommands and probes. The/bondypaths, node names,BONDY_*environment variables andetc/bondy.confkeep their names. Releases before 1.0.0 remain atleapsight/bondy and are copied here under the same tags.
| Tag | Contents |
|---|---|
<version>, e.g. 1.0.0 | A release. Multi-arch: linux/amd64 and linux/arm64. |
<version>-amd64, <version>-arm64 | The same release for one architecture. |
main | The latest build of the main branch. |
develop | The latest build of the develop branch. Not for production. |
The same tags are published at ghcr.io/bondy-io/bondy-connect, with the same
digests. To pin an exact build, pull by digest, e.g.
leapsight/bondy-connect@sha256:<digest>.
Download the
examples/custom_config
folder, or clone the repository, and cd to the folder that contains
examples/. Then run:
docker run \
--rm \
-e [email protected] \
-e BONDY_ERL_DISTRIBUTED_COOKIE=bondy \
-u 0:1000 \
-p 18080:18080 \
-p 18081:18081 \
-p 18082:18082 \
-v "$PWD/examples/custom_config/etc:/bondy/etc" \
-v "/tmp/data:/bondy/data" \
leapsight/bondy-connect:1.0.0
The example configuration runs a single node (cluster.enabled = off) with
these listeners:
| Port | Listener | Serves |
|---|---|---|
| 18080 | api_gateway_http | API Gateway, WAMP over WebSocket (/ws), SSE and Longpoll |
| 18081 | admin | Admin API, WAMP over WebSocket, /ping, /ready, /metrics |
| 18082 | wamp_tcp | WAMP RawSocket over TCP |
Use /ping (liveness) and /ready (readiness) on the admin listener for
container health checks and Kubernetes probes.
Command. The entrypoint is bondy-connect foreground. Run other commands
with docker exec <container> bondy-connect <command>, e.g. ping, eval or
remote_console.
User. The image runs as bondy:bondy. The working directory is /bondy.
Volumes.
| Path | Holds |
|---|---|
/bondy/etc | Configuration: bondy.conf and the files it references |
/bondy/data | The node's database. Mount persistent storage here. |
/bondy/log | Log files, when a file log handler is configured |
/bondy/tmp | Temporary files |
Ports. The image exposes 18080 to 18086. Without a listeners.* section,
a node declares three listeners and the cluster peer service:
| Port | Listener | Serves |
|---|---|---|
| 18080 | api_gateway_http | API Gateway, WAMP over WebSocket (/ws), SSE and Longpoll |
| 18081 | admin | Admin API, WAMP over WebSocket, /ping, /ready, /metrics |
| 18082 | wamp_tcp | WAMP RawSocket over TCP |
| 18086 | Cluster peer service (cluster.peer_port) |
Ports 18083 to 18085 are free for TLS listeners you declare in bondy.conf
under listeners.$name.*; every enabled TLS listener names its certificate.
Environment variables.
| Variable | Default | Sets |
|---|---|---|
BONDY_ERL_NODENAME | [email protected] | The Erlang node name |
BONDY_ERL_DISTRIBUTED_COOKIE | bondy | The Erlang distribution cookie. Change it in production. |
A single-node deployment sets cluster.enabled = off. For a cluster, every
node needs a unique BONDY_ERL_NODENAME, the same cookie, and a way to find its
peers through DNS or a static list. The cluster peer service on port 18086 is
plaintext by default; see
Cluster mTLS
and
Clustering.
Bondy Connect 1.0.0 cannot read the data directory of an earlier release. Take a backup on the old release, wipe the data directory, and import the backup into 1.0.0. Read the migration guide and the Action required section of the CHANGELOG first.
Bondy Connect is licensed under the Apache License 2.0.
Content type
Image
Digest
sha256:f6774714e…
Size
62.6 MB
Last updated
1 day ago
docker pull leapsight/bondy-connect