Run your own node. Own your data.
ECCP homeservers are the operational layer of the protocol. They store room state, enforce local policy, federate with other nodes, and keep trust decisions close to the operator instead of a central vendor.
Self-hostable by design
Storage, moderation policy, and regional compliance stay under local control.
Federate on explicit policy
Join the wider mesh with allowlists, rate limits, and auditable event signing.
docker-compose quick start
BASH
docker run -d \
--name eccp-node \
--restart unless-stopped \
-p 8448:8448 \
-v $(pwd)/eccp-data:/var/lib/eccp \
ghcr.io/epocanvas/eccp-node:0.2.1 \
serve \
--server-name node.example.org \
--public-base-url https://node.example.org \
--bootstrap-admin admin@example.orgA four-step rollout for a healthy Layer 2 node.
The point is not one-click magic. It is predictable operations with clear boundaries between bootstrap, policy, observability, and federation.
01 Bootstrap
- Reserve `8448/tcp` for federation.
- Attach persistent volumes for event store, media cache, and signing keys.
- Generate the initial admin identity on first boot.
Sample homeservers on the federated graph.
Layer 2 nodes can be public, private, invite-only, or experimental. The important part is that the protocol contract stays consistent for the clients above them.
| Domain | Region | Status | Version |
|---|---|---|---|
| node.eccp.dev | US West | Online | 0.2.1 |
| relay.alpha | Frankfurt | Online | 0.2.1 |
| shadow.ops | Singapore | Invite only | 0.2.0 |
| community.mesh | Toronto | Upgrading | 0.2.1-rc2 |
| bridge.lab | Sydney | Degraded | 0.1.9 |
CLI-first bootstrap
Operators can stand up a node quickly, but still keep full visibility into every configuration boundary.
Protocol-capable storage
The reference homeserver preserves state needed for sync, bridges, bots, and future Layer 4 extensions.
Upgrades without lock-in
Because Layer 1 stays open, operators can change implementations without abandoning the network itself.