Getting Started
Visit our documentation to learn more about Convex and follow our getting started guides.
The easiest way to build with Convex is through our cloud platform, which includes a generous free tier and lets you focus on building your application without worrying about infrastructure. Many small applications and side-projects can operate entirely on the free tier with zero cost and zero maintenance.
Self Hosting
The self-hosted product includes most features of the cloud product, including the dashboard and CLI. Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
You can either use Docker (recommended) or a prebuilt binary to self host
Convex. Check out our self-hosting guide for detailed
instructions. Community support for self-hosting is available in the
#self-hosted
channel on Discord.
Community & Support
- Join our Discord community for help and discussions.
- Report issues when building and using the open source Convex backend through GitHub Issues
Building from source
See BUILD.md.
Disclaimers
- If you choose to self-host, we recommend following the self-hosting guide. If you are instead building from source, make sure to change your instance secret and admin key from the defaults in the repo.
- Convex is battle tested most thoroughly on Linux and Mac. On Windows, it has
less experience. If you run into issues, please message us on
Discord in the
#self-hosted
channel. - Convex self-hosted builds contain a beacon to help Convex improve the improve
the product. The information is minimal and anonymous and helpful to Convex,
but if you really want to disable it, you can set the
--disable-beacon
flag on the backend binary. The beacon's messages print in the log and only include- A random identifier for your deployment (not used elsewhere)
- Migration version of your database
- Git rev of the backend
- Uptime of the backend
Repository layout
crates/
contains Rust code- Main binary
local_backend/
is an application server on top of theRuntime
. This is the serving edge for the Convex cloud.
- Main binary
npm-packages/
contains both our public and internal TypeScript packages.- Internal packages
udf-runtime/
sets up the user-defined functions JS environment for queries and mutationsudf-tests/
is a collection of functions used in testing the isolate layersystem-udfs/
contains functions used by the Convex system e.g. the CLI
- Internal packages