Skip to content

Quick Start

Get Fluxbase running in under 5 minutes using Docker.

  • Docker and Docker Compose installed
  • 500MB disk space (plus space for your data)
Terminal window
git clone https://github.com/fluxbase-eu/fluxbase.git
cd fluxbase/deploy

Run the secrets generator:

Terminal window
./generate-keys.sh

Select option 1 (Docker Compose) when prompted. This creates a .env file with all required secrets.

Terminal window
docker compose -f docker-compose.minimal.yaml up -d

Wait for the services to start (first run takes ~30 seconds for migrations). Check the logs:

Terminal window
docker logs -f fluxbase

You should see:

Fluxbase starting...
Database connected
Migrations applied
Fluxbase is ready!
  1. Open http://localhost:8080/admin/setup
  2. Enter your Setup Token (the FLUXBASE_SECURITY_SETUP_TOKEN value from step 2)
  3. Fill in your admin account details:
    • Full Name - Your display name
    • Email - Used for login
    • Password - Minimum 12 characters
  4. Click Complete Setup

You’ll be automatically logged in and redirected to the dashboard.

Terminal window
curl http://localhost:8080/health
{"status": "healthy", "database": "connected"}

At http://localhost:8080/admin:

  • Tables Browser - Create tables and manage data
  • Authentication - View and manage users
  • Storage - Upload and manage files
  • Functions - Deploy edge functions
  • Realtime - Monitor WebSocket connections

Database connection errors after changing secrets:

Terminal window
docker compose -f docker-compose.minimal.yaml down -v
docker compose -f docker-compose.minimal.yaml up -d

The -v flag resets volumes so PostgreSQL reinitializes with the new password.

Now that Fluxbase is running, here’s what to do next:

  1. Create a table in the Tables Browser
  2. Generate a client key in Settings > Client Keys
  3. Query your data using the SDK or REST API

For a complete walkthrough, see the First API Tutorial.

Install the TypeScript SDK:

Terminal window
npm install @fluxbase/sdk
import { createClient } from '@fluxbase/sdk'
const fluxbase = createClient('http://localhost:8080', 'your-client-key')
// Query data
const { data, error } = await fluxbase.from('users').select('*')

Enable user signups in Settings > Authentication, then:

// Sign up a user
const { user, error } = await fluxbase.auth.signUp({
email: 'user@example.com',
password: 'securepassword123'
})

See the Authentication Guide for OAuth, magic links, and more.

Use Row-Level Security (RLS) to control access:

-- Users can only read their own data
CREATE POLICY "Users read own data"
ON public.profiles FOR SELECT
USING (auth.uid() = user_id);

See the Row-Level Security Guide.