Get Conduit running on your machine
Conduit ships a bun.lock, so install with Bun rather than npm or pnpm:
bun installCopy .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.
Conduit's Prisma schema writes its generated client to a custom ./generated output rather than the default location:
bun run prisma generatebun run prisma migrate devRe-run this any time prisma/schema.prisma changes — new models like Mission, Receipt, or Item all live there.
bun devThe 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.