Deploy Convoy
Stand up a new Convoy instance — what you are deploying and in what order.
Convoy is self-hosted: someone on your team deploys it once, then everyone else joins it. A full deployment has three moving pieces:
- the Convex backend — schema, functions, scheduled jobs, file storage; the system of record
- the web app — a Next.js app deployable to any Next.js-capable host (Vercel is the documented reference)
- the Convoy CLI — installed by each developer on their own machine;
not something you deploy centrally (each user follows
Quickstart: join a deployment)
Deploy in this order
Each page lists its own next step; working top to bottom avoids circular prerequisites.
- Deploy the Convex backend — create a Convex deployment, set server-side env vars, push functions and schema.
- Auth and Clerk — create the Clerk app and JWT template first; the web app will not boot without Clerk keys, and Convex needs the JWT issuer domain.
- Deploy to Vercel — build and deploy the Next.js web app with integrated Convex builds.
- Email and Resend — transactional email for invitations. Optional.
- Deploy the docs site — static docs site. Optional.
- Production checklist — pre-launch verification.
The full env-var matrix (what goes in the Convex dashboard vs. the web host
vs. local .env.local) lives in
Environment variables.
After launch
Move to Operations for running CLI workers long-term,
scaling, monitoring, migrations, backups, and upgrades.
To run everything on your own infrastructure instead of managed Convex and
Vercel, use the bundled Docker Compose setup — see
Self-hosting Convex.