Skip to content

Quick Start

github-actions[bot] edited this page Jul 2, 2026 · 1 revision

Quick Start

Get a local Inbix instance running in minutes.

Requirements

  • Node.js 24+ (matches .nvmrc)
  • pnpm 11+
  • A Cloudflare account
  • A domain managed by Cloudflare DNS (for receiving emails in production)

1. Clone & Install

git clone https://github.com/andriansandi/inbix.git
cd inbix
pnpm install

2. Set Up Local Environment

Copy the example local vars file at the repo root:

cp .dev.vars.example .dev.vars

Fill in at minimum:

  • CLERK_SECRET_KEY
  • CLERK_PUBLISHABLE_KEY
  • VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY (only needed for Web Push testing)

See the Development Guide for full details.

3. Set Up Local D1

Create a local D1 database and apply the migrations:

npx wrangler d1 create inbix --local
npx wrangler d1 execute inbix --local --config wrangler.jsonc --file=packages/database/migrations/0001_initial.sql
npx wrangler d1 execute inbix --local --config wrangler.jsonc --file=packages/database/migrations/0002_add_user_id.sql
npx wrangler d1 execute inbix --local --config wrangler.jsonc --file=packages/database/migrations/0003_add_missing_tables.sql
npx wrangler d1 execute inbix --local --config wrangler.jsonc --file=packages/database/migrations/0004_notifications.sql
npx wrangler d1 execute inbix --local --config wrangler.jsonc --file=packages/database/migrations/0005_v02_api_and_automation.sql

Seed the default domain:

npx wrangler d1 execute inbix --local --config wrangler.jsonc \
  --command="INSERT OR IGNORE INTO domains (id, domain, is_default, is_verified, created_at) VALUES ('domain_inbix_xyz', 'inbix.xyz', 1, 1, strftime('%s','now')*1000)"

4. Run Locally

pnpm dev

This starts both:

  • Dashboard at http://localhost:5176
  • Worker API at http://localhost:8791

The dashboard proxies /api requests to the Worker automatically.

5. Deploy to Production

For a production deployment, follow the Deployment Guide.

You will need to create:

  • D1 database
  • R2 bucket
  • KV namespaces
  • Configure Cloudflare Email Routing with a catch-all to the Inbix Worker

Clone this wiki locally