Evolu Relay
Evolu Relay provides sync and backup for Evolu apps. Evolu apps can use multiple relays simultaneously. For resilience, it's recommended to use two relays: a fast primary "home/company" relay (on‑prem or close to users) and a geographically distant secondary relay if the primary relay fails (hardware failure, network issues, etc.).
Evolu apps can combine self‑hosted relays with cloud relays. Evolu Relay is stateless, so it can run in any serverless cloud environment (AWS Lambda, Cloudflare Workers, etc.), allowing Evolu apps to work even when major cloud providers go down.
Direct peer‑to‑peer (P2P) sync between clients is technically possible and on our roadmap; implementation awaits additional local transports like Bluetooth, Wi‑Fi, LAN, etc.
For details on privacy, check the privacy docs.
Hosting Evolu Relay
The reference relay is published as the @evolu/relay npm package and the evoluhq/relay Docker image. Its source code can be found at github.com/evoluhq/evolu/tree/main/apps/relay.
We provide a free free.evoluhq.com relay for testing, but no hosting because
it's not Evolu's mission to compete with established clouds (yet). Our plan
for Evolu is different: We will sell Evolu apps, Evolu HW devices, and provide
paid support. Testing relay data may be deleted; do not rely on it as your
only backup.
Configuring Evolu Relay
The relay reads its listening port from PORT, defaulting to 4000, and its
optional per-owner storage quota from EVOLU_RELAY_MAX_OWNER_BYTES.
No per-owner storage limit is imposed when this variable is unset. Set a quota
appropriate for your deployment; it does not limit total disk usage.
Quota values must be size literals such as 512KiB or 10MiB, rather than
bare byte counts such as 1048576.
PORT also supports hosting platforms that supply the listening port;
EVOLU_RELAY_PORT is not supported. Invalid supplied values and unknown
EVOLU_RELAY_* variables stop the relay with a validation message.
See the package README
for the full list.
PORT=4001 EVOLU_RELAY_MAX_OWNER_BYTES=10MiB npx @evolu/relay