Self-host
Quickstart
Prerequisites, install Fork from source, and apply database migrations.
Prerequisites
Before you run Fork locally, gather:
| Requirement | Notes |
|---|---|
| Bun | Used for dev, build, start, and test in this repo. |
| PostgreSQL | Required for Prisma; use a connection string in DATABASE_URL. |
| Clerk | Application with publishable and secret keys for auth. |
| Supabase | Project with a storage bucket for assets; server needs service role (or equivalent) for uploads. |
Install
From the repository root:
bun installPrisma client generation runs as part of the web app’s install/build flow (postinstall / build).
Database
Apply migrations (development):
bun run db:migrateUse a dedicated database for local development. For integration-heavy tests, prefer a separate test database when setting DATABASE_URL.
Environment
Create .env.local at the repo root or under apps/web/ — Prisma resolves either location. See Environment variables for the full list.
Run the app
bun run devOpen the URL shown in the terminal (often http://localhost:3000).
Documentation site
The Fumadocs app runs on port 3001 by default:
bun run docs:devThen open http://localhost:3001/ for this documentation.
Next
- Local development — ports, monorepo scripts, and workflow tips.
- Environment variables — every variable in one place.