Skip to Content
Self-HostingSetup Guide

Setup Guide

This guide covers deploying BuildPad DaaS on your own infrastructure. For local development, see the Quick Start.

Prerequisites

  • A Supabase project (cloud or self-hosted)
  • Node.js 18+ and pnpm
  • Docker (for containerized deployment)

Clone and configure

git clone <repository-url> cd buildpad-daas cp .env.local.example .env.local

Edit .env.local with your Supabase credentials:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key SUPABASE_SERVICE_ROLE_KEY=your-service-role-key

Run database migrations

Apply all SQL migrations to your Supabase database.

If your project is linked to Supabase:

supabase link --project-ref <your-project-ref> supabase db push

Or apply them manually via the Supabase SQL editor. Migration files are in supabase/migrations/.

Create the first admin user

./scripts/create-admin-user.sh admin@example.com your-password

Build and start

pnpm install pnpm build pnpm start

Or with Docker — see Docker.

Row-Level Security (RLS)

RLS policies must be enabled on all tables that store user data. Run the migration that sets up the Generic RLS System to protect new collections automatically.

Enable RLS on a table after migrations using the built-in function:

-- Second argument: true if the table has a user_id column, false otherwise SELECT apply_rls_to_collection('your_table_name', true);

See the Security page for the full RLS setup.

Next Steps

Last updated on