Run wrkin.space locally with Docker, Postgres, MinIO, and the collab server.
Last updated June 7, 2026
From the repository root:
pnpm setup This creates .env, installs dependencies, starts Docker services, pushes the schema, and optionally seeds demo data.
In one terminal:
pnpm dev In another terminal (required for collaborative Docs):
pnpm collab:dev Open http://localhost:5173.
Copy variables from .env.example. At minimum you need:
| Variable | Purpose |
|---|---|
DATABASE_URL | Postgres connection string |
BETTER_AUTH_SECRET | Session signing (32+ chars in production) |
S3_* | MinIO or S3-compatible storage for uploads |
PUBLIC_COLLAB_WS_URL | WebSocket URL for Docs collab (ws://localhost:1234 locally) |
Optional:
| Variable | Purpose |
|---|---|
COLLAB_JWT_SECRET | Collab token signing; defaults to BETTER_AUTH_SECRET in dev |
HOCUSPOCUS_PORT | Collab server port (default 1234) |
ORIGIN | Public app URL (http://localhost:5173 locally — required for auth/email links) |
Outbound email (RESEND_API_KEY or SMTP) is not required for local signup but password reset will not send mail until configured. See Production deployment.
| Command | Description |
|---|---|
pnpm db:start | Start Postgres + MinIO |
pnpm db:push | Sync schema locally |
pnpm db:seed | Load demo teams, wrkspaces, and data |
pnpm check | Type-check the app |
Run pnpm db:seed to wipe seed-owned data and recreate a demo environment:
pilot), medium (product-beta), full showcase (platform-alpha) on Acme; light wrkspaces on other teamspassword123 for all| Teams (slug) | |
|---|---|
test@wrkin.local | acme-labs (owner), bridge |
alex@wrkin.local | acme-labs, northwind (owner) |
jordan@wrkin.local | acme-labs, northwind, bridge (owner) |
sam@wrkin.local | acme-labs |
taylor@wrkin.local | acme-labs |
morgan@wrkin.local | northwind |
riley@wrkin.local | northwind |
casey@wrkin.local | northwind, bridge |
jamie@wrkin.local | bridge |
quinn@wrkin.local | bridge |
Primary paths after seed:
/teams/acme-labs/teams/acme-labs/wrkspaces/platform-alpha (every enabled module type with sample data)Re-run pnpm db:seed anytime to reset seed-owned data. Do not run the seed script against production databases.