Quickstart
Get Central Set (CS) running in minutes with a connected database admin UI and optional ETLX support.
๐ 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:
- Precompiled binary (recommended)
- Build from source
- Docker
Choose the option that best fits your workflow.
โถ๏ธ Option 1: Download a Precompiled Binary (Recommended)
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 mod tidy
go build -tags="duckdb_arrow" -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:
- Define your application model in a Markdown model file
- Describe entities, fields, relationships, and metadata
- 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
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 07 2026, 11:06 UTC .