Overview

Get Conduit running on your machine

1
Install dependencies

Conduit ships a bun.lock, so install with Bun rather than npm or pnpm:

bun install
2
Point Prisma at a Postgres database

Copy .env.example to .env and set DATABASE_URL to a reachable Postgres instance. See Environment Variables for what every variable does — at minimum you need DATABASE_URL and BETTER_AUTH_SECRET to boot.

3
Generate the Prisma client

Conduit's Prisma schema writes its generated client to a custom ./generated output rather than the default location:

bun run prisma generate
4
Apply migrations
bun run prisma migrate dev

Re-run this any time prisma/schema.prisma changes — new models like Mission, Receipt, or Item all live there.

5
Start the dev server
bun dev

The app listens on NEXT_APPLICATION_URL (http://localhost:3000 by default).

Sign in for the first time#

Conduit's login screen supports email/password (through better-auth) and Google OAuth if you've set AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET. New accounts require email verification — set RESEND_API_KEY and RESEND_SENDER so verification and password-reset emails actually send.

Once you're in, claim a callsign (your display handle inside a squad) from your profile page, then create or join a squad to start planning missions.

What you don't need for local development#

Two integrations are optional until you specifically need them:

  • Receipt scanning (NEXT_SCAN_SERVICE_URL, SCAN_JWT_PRIVATE_KEY) — Conduit runs fine without a scan service; use the manual report form instead. See Deploying with Docker for how the scan service fits in.
  • Sentry / GlitchTip (SENTRY_DSN, SENTRY_AUTH_TOKEN) — error reporting is silent without these, not required to run the app.

Next: see every variable Conduit reads in Environment Variables, or jump straight to Deploying with Docker. Back to the documentation overview.

Updated

Was this page helpful?