Templates
Self-host Convex with Unbind
Deploy a self-hosted Convex backend on your own servers with Unbind. Database, server functions and realtime sync in one place.
Convex is a reactive backend: a database, server functions and realtime sync that your frontend subscribes to. This template runs the open-source self-hosted version.
Deploy it from the template list. It takes a minute or two.
What gets deployed
| Service | Runs |
|---|---|
| PostgreSQL | postgres |
| Convex Backend | ghcr.io/get-convex/convex-backend@sha256:1f2044e3eac463ac78973b136c0baf72d4ada602611d853d6f99f280e29e0a98 |
| Convex Dashboard | ghcr.io/get-convex/convex-dashboard@sha256:284a2638e0c1a4ec0c2327d8219776f3a426ca5824b81686ae4d9454dc0ce8ed |
Plan for at least 1 CPU core and 1 GB of memory.
Convex keeps its files on a volume mounted at /convex/data. The data itself lives in the PostgreSQL service.
What you fill in
| Input | Description | Default |
|---|---|---|
| Dashboard Domain | Domain for the Convex dashboard. | |
| Cloud Domain | Domain for the Convex cloud API and sync. | |
| HTTP Actions Domain | Domain for Convex HTTP actions. | |
| Database Size | PostgreSQL storage size. | 1 GB |
| Storage Size | Disk for file storage, exports, and indexes. | 1 GB |
After it deploys
Open the Convex Backend service and copy the value of CONVEX_SELF_HOSTED_ADMIN_KEY from its variables. You need it in two places:
- Dashboard: open your dashboard domain and paste the key to sign in.
- CLI: point the Convex CLI at your instance from your project folder.
CONVEX_SELF_HOSTED_URL=https://your-cloud-domain
CONVEX_SELF_HOSTED_ADMIN_KEY=your-admin-keyAfter that, npx convex dev and npx convex deploy talk to your instance.
Good to know
- Three domains: the dashboard, the cloud API your app connects to, and HTTP actions each get their own domain. Your app uses the cloud domain as its Convex URL.
- Treat the admin key like a password: anyone who has it can read and change everything in the deployment.