πŸš€ Quickstart

This guide will help you run Central Set (CS) locally in minutes β€” initialize the admin database, access the admin UI, and optionally set up the ETLX subsystem.


βœ… Requirements

Minimum

  • Linux, macOS, or Windows
  • A SQL database engine (SQLite, PostgreSQL, MySQL, etc.)
  • CS treats the database itself as the data model

Optional (for ETLX / ODBC features)

  • unixODBC (Linux/macOS) for ODBC-based ETL sources

πŸ™ Installation

You can run CS in three different ways:

  1. Precompiled binary (recommended)
  2. Build from source
  3. Docker

Choose the option that best fits your workflow.


Download the latest CS release for your platform:

πŸ‘‰ https://github.com/realdatadriven/central-set-go/releases/latest

Make it executable (Linux/macOS):

  chmod +x central-set
  

Run it:

  ./central-set --help
  

πŸ› οΈ Option 2: Build from Source (Git Clone)

If you want to build CS yourself:

Requirements

  • Go β‰₯ 1.21
  • git

Clone and build

  git clone https://github.com/realdatadriven/central-set-go.git
cd central-set-go
go build -o central-set ./cmd/api
  

Run it:

  ./central-set --help
  

This produces the same binary as the official releases.


🐳 Option 3: Run with Docker

CS can be run entirely via Docker.

Build the image

  docker build -t central-set-go:latest .
  

Run CS

  docker run --rm -it \
  -p 4444:4444 \
  -v $(pwd)/database:/app/database \
  central-set-go:latest
  

To initialize the admin database:

  docker run --rm -it \
  -v $(pwd)/database:/app/database \
  central-set-go:latest --init
  

πŸ’‘ Mounting the database/ directory ensures your admin DB persists between runs.


πŸ—„οΈ Initialize the Admin Database

Before first use, initialize the admin database:

  ./central-set --init --model admin_model.md
  

This will:

  • Create the internal admin database
  • Create default configuration tables (apps, menus, tables, etc.) for the admin ui
  • Create a default user
  • Print credentials:
  Username: root
Password: 1234
  

🏦 Model-Based Initialization

Central Set follows a model-driven database approach, inspired by patterns commonly used.

Instead of manually creating tables or running raw SQL migrations, the recommended workflow is to:

  1. Define your application model in a Markdown model file
  2. Describe entities, fields, relationships, and metadata
  3. Let Central Set generate and manage the database structure

This approach provides several advantages:

  • Consistent database structures
  • Self-documented schema
  • Reproducible environments
  • Tighter integration with Central Set APIs and metadata
  • Safer schema evolution

Although the example above initializes the Admin database, this approach is not limited to it.

Any application database can β€” and ideally should β€” be initialized using the same model-based workflow.

In fact, new backend projects built with Central Set are recommended to start with a model file, allowing the platform to manage the database schema from the beginning.

A dedicated page will explore the Model system and architecture in more detail.


▢️ Start CS

  ./central-set
  

CS will start a web server and expose the admin UI.


πŸ–₯️ Open the Admin UI

πŸ‘‰ http://localhost:4444

Login using:

  Username: root
Password: 1234
  

🧬 Optional: Initialize ETLX Support

To enable ETLX pipelines, notebooks, and SQL tools, initialize an additional app database:

  ./central-set --init --model etlx_model.md
  

This creates an ETLX-powered app that integrates with:

  • Pipeline execution
  • Observability
  • Dashboards

βš™οΈ Configure with .env

CS ships with a sample environment file:

  cp dot-env-example.txt .env
  

Edit .env to configure:

  • Database driver & DSN
  • HTTP port
  • Authentication & security
  • ETLX options

Example

  # Admin database
DB_DRIVER_NAME=sqlite3
DB_DSN=database/ADMIN.db

# HTTP server
HTTP_PORT=4444
  

Any database supported by sqlx can be used by simply changing the driver and DSN.


🧩 What Just Happened

CS has now:

  • Initialized its admin control database

  • Reflected database tables into:

    • Auto-generated data tables
    • CRUD forms
    • APIs
  • Enabled RBAC at table level

  • Exposed everything through a secure, API-first backend

  • Optionally enabled ETLX-powered pipelines and analytics

You can now:

  • Manage applications, menus, and tables
  • Customize UI layouts and forms
  • Generate API keys and tokens
  • Schedule ETL jobs
  • Build dashboards and notebooks

Steps

  • πŸ‘‰ Admin & UI β€” How Apps β†’ Menus β†’ Tables define the UI
  • πŸ‘‰ Security & API Access β€” Users, roles, access keys
  • πŸ‘‰ ETLX & Pipelines β€” Data workflows and scheduling
  • πŸ‘‰ Dashboards & Analytics β€” DuckDB-powered insights

CS is MIT-licensed, open source, and designed to make the database the single source of truth.

If you believe admin UIs, APIs, pipelines, and analytics should all align around the schema β€” welcome aboard πŸš€

Last updated 08 Mar 2026, 14:20 -01 . history

Was this page helpful?