Self-hosted · No cloud · No telemetry

SQL.
From any device.

A mobile-first SQL client for MySQL and PostgreSQL.
Runs on your machine, on your network.

Get started →

What it does

Script mode Write multiple SQL statements in one buffer. Ctrl+Enter runs the statement at the cursor; select text to run just that. Semicolons or blank lines separate statements.
Builder mode Compose SELECT queries step-by-step — FROM, JOIN, WHERE, ORDER BY, LIMIT — without typing a character.
AI mode Describe what you need in plain English. A local Ollama model writes the SQL. Nothing leaves your machine.
Saved queries Name and persist queries per connection. They survive restarts.
Table explorer Browse tables and columns for the active connection. Tap a table to load a SELECT stub into the editor.
CSV export Download any result set as a CSV file.

Quick start

Run with Docker

No clone required — pull the image and go.

01

Create a docker-compose.yml

services: bricksql: image: ghcr.io/manuel-espinosa/bricksql:latest ports: - "3000:3000" volumes: - bricksql-data:/data environment: BRICKSQL_USER: admin BRICKSQL_PASSWORD: changeme JWT_SECRET: change-this-secret restart: unless-stopped volumes: bricksql-data:
02

Start it

$ docker compose up -d ✓ Container bricksql  Started
03

Open the app

Visit http://localhost:3000 and log in with the credentials you set above.

or develop locally

Clone & run dev mode

Full dev stack with hot reload — backend, frontend, and a seeded MySQL demo database included.

01

Clone and configure

$ git clone https://github.com/Manuel-Espinosa/bricksql $ cd bricksql $ cp .env.example .env
02

Start the dev stack

$ docker compose -f docker-compose.dev.yml up
Includes a MySQL demo database on port 3001users and countries tables, seeded and ready to explore with JOINs.
03

Open the app

Frontend at http://localhost:5172 — backend on :5050.

Configuration

Variable Required Description
BRICKSQL_USER yes Username for login
BRICKSQL_PASSWORD yes Password for login
JWT_SECRET yes Secret used to sign auth tokens
PORT no Host port for the container (default: 3000). Dev mode uses PORT_BACK, PORT_FRONT, and PORT_DB instead.
DATA_DIR no Path for JSON data storage (default: /data)
OLLAMA_URL no Ollama base URL to enable AI mode (e.g. http://host.docker.internal:11434)