#Does Convex support running/syncing across multiple regions when self-hosting on Fly.io?

5 messages · Page 1 of 1 (latest)

civic shell
#

One of the best parts about Fly is its dead simple multi-region support.

Part of what can make live, websocket-driven reactivity in a framework like Phoenix LiveView so fantastic is the ability to easily run multiple servers physically close to users to reduce latency.

So that got me wondering -- can you do something similar with Convex when self-hosting on a platform like Fly?

jovial summitBOT
#

Hi @civic shell. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:

#

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.
#

@civic shell Kapa.ai is still learning and improving, please let me know how I did by reacting below.