Currently, Convex does not support multi-region syncing or running across multiple regions, even when self-hosting on Fly.io. The self-hosted Convex backend (including the Docker images and Fly.io deployment) is designed to run as a single-node instance. There is no built-in support for clustering, multi-region replication, or edge caching in the open-source backend at this time.
While Fly.io makes it easy to deploy applications in multiple regions, Convex’s architecture does not yet allow you to run multiple backend nodes in different regions that automatically sync state or provide low-latency, region-local reactivity. All state and live reactivity are tied to a single backend instance and its database. If you want to scale or distribute Convex across regions, you would need to significantly modify the backend codebase yourself to build a distributed system, as this is not supported out of the box. The hosted Convex cloud product also currently runs in a single region (us-east), and multi-region/edge support is on the roadmap but not available yet, with possible progress in 2025Stack: Self-Hosting with Convex, Discord: Multi-region.
In summary:
- Self-hosted Convex (including on Fly.io) is single-region, single-node only.
- Multi-region/edge support is not yet available, but is planned for the future.
- If you need multi-region, low-latency reactivity today, Convex does not currently provide this capability, and you would need to look for alternative solutions or be prepared for significant custom engineering.