Quick Start
Choose how you want to run BuildPad DaaS:
BuildPad Cloud
The fastest way to start — no Docker, no servers, no Supabase account needed.
Create your BuildPad account
Go to app.buildpad.ai , click Sign Up, and register with your email.
Create an organization and project
After signing in, create an organization (e.g. “My Company”) and then create your first Project. Each project provisions a dedicated DaaS instance automatically.
Access your DaaS instance
From your project’s detail page, your DaaS instance URL and credentials are shown. The instance is live immediately — no configuration required.
Get your API token
curl -X POST https://<your-instance>.buildpad.ai/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "admin@example.com", "password": "yourpassword"}'Response:
{
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "...",
"expires": 900
}
}Make your first API call
curl https://<your-instance>.buildpad.ai/api/users \
-H "Authorization: Bearer <your_access_token>"BuildPad Cloud handles database provisioning, migrations, and updates automatically. Your DaaS instance URL is shown in the project dashboard at app.buildpad.ai .
Self-Hosted (Docker)
Run BuildPad DaaS on your own infrastructure against a Supabase project.
Prerequisites
- Docker — Install Docker
- A Supabase project — Create one free at supabase.com or run locally
Get your Supabase credentials
From your Supabase project dashboard → Project Settings → API:
| Variable | Where to find it |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Project URL (e.g. https://xyz.supabase.co) |
NEXT_PUBLIC_SUPABASE_ANON_KEY | anon / public key |
SUPABASE_SERVICE_ROLE_KEY | service_role key (keep this secret) |
The service_role key bypasses Row Level Security. Never expose it in a browser or public client.
Create a .env file
cat > .env <<'EOF'
NEXT_PUBLIC_SUPABASE_URL=https://xyz.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
EOFRun the container
Docker Compose
Save this as docker-compose.yml:
services:
buildpad:
image: buildpad-daas:latest
ports:
- "3000:3000"
env_file: .env
restart: unless-stopped
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"]
interval: 30s
timeout: 3s
retries: 3
start_period: 60sThen start it:
docker compose up -dOn first start, the container automatically runs all database migrations before serving traffic. Allow ~30 seconds for this to complete. Check progress with docker logs buildpad -f.
Open the DaaS Studio
Navigate to http://localhost:3000 and log in with the admin account you set up in Supabase Auth (or create one — see Users & Auth).
Get your API token
curl
curl -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "admin@example.com", "password": "yourpassword"}'Response:
{
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "...",
"expires": 900
}
}Make your first API call
curl
curl http://localhost:3000/api/users \
-H "Authorization: Bearer <your_access_token>"What’s Next
- Core Concepts — Collections, fields, items, and permissions
- Authentication — Token refresh, static API tokens, and cookie sessions
- Items API — Filtering, sorting, pagination, and field selection