Docs

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.

  1. Deploy the Convex backend — create a Convex deployment, set server-side env vars, push functions and schema.
  2. 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.
  3. Deploy to Vercel — build and deploy the Next.js web app with integrated Convex builds.
  4. Email and Resend — transactional email for invitations. Optional.
  5. Deploy the docs site — static docs site. Optional.
  6. 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.

On this page