Deployment
Run BaseBuddy in production with durable app data, restricted database roles, and verified TLS.
BaseBuddy production deployment needs one durable app-data backend. The default is:
textbasebuddy-data/basebuddy.config.jsonMount or preserve basebuddy-data/ so setup survives restarts and deploys.
For hosts that restart often or run multiple app instances, use a Supabase/Postgres app-data backend instead:
shBASEBUDDY_APP_STATE_BACKEND=supabase-split-project
BASEBUDDY_APP_STATE_DATABASE_URL=postgresql://...With the default basebuddy-data backend, editable deployments on Vercel, Netlify, or similar immutable serverless hosts are not supported because project settings, mappings, permissions, sidebar layout, local users, sessions, and invites are written to app data on the running server.
Use App data storage options before choosing the backend for your host.
Checklist
- Build with Node.js 22 and
pnpm. - Keep app data out of git and public logs.
- Run onboarding or CLI setup once.
- Back up the selected app-data backend.
- Run
pnpm setup:checkandpnpm basebuddy doctor. - Use a restricted database role for
BASEBUDDY_CONTENT_DATABASE_URL. - Use TLS verification for hosted Supabase/Postgres.
- Sign in, open
/projects, and verify one mapped content read.
Deploy
shpnpm install --frozen-lockfile
pnpm build
pnpm startUse HTTPS for production. Configure your platform so the process can read and write the selected app-data backend.
Content Database
The content database can be Supabase or any supported Postgres database. BaseBuddy setup does not change the content schema. The saved mapping decides which tables and fields the editor can use.
For production, avoid the broad postgres owner role. BaseBuddy checks Postgres update privileges and shows mapped fields as read-only when the current role cannot update their columns.