// self-hosted · ai · database workspace
Ask your database in your own words.
Your data stays on your servers. Your LLM key stays in your env. No vendor lock-in, no data egress.
“How many active customers do we have in each region last month?”
SELECT region, COUNT(*) AS active
FROM customers
WHERE last_seen >= date_trunc('month', NOW())
- INTERVAL '1 month'
GROUP BY region
ORDER BY active DESC;// the product, in three acts
// features
Built for teams that live in data.
- // 01
Natural-language SQL
A multi-step LLM planner converts questions into SQL grounded in your schema.
- // 02
Saved questions + folders
Every query is reusable. Organize by team, topic, or domain.
- // 03
Drag-and-drop dashboards
Compose widgets from saved questions on a flexible grid layout.
- // 04
Scheduled email reports
Recurring dashboard snapshots delivered to inboxes via SMTP.
- // 05
Permissions & groups
Per-folder, per-feature access control with role-based groups.
- // 06
Multi-DB connections
MySQL and MariaDB today, more drivers behind the same abstraction.
// how it works
Four steps. One workspace.
- 01Spin up
One command and the workspace is running.
docker compose up -d
- 02Connect
Point Anabase at your database from the Settings UI.
Settings → Connections → New
- 03Ask
Type a question. Anabase generates and runs the SQL.
"how many active customers per region last month?"
- 04Share
Pin to a dashboard. Schedule a daily email digest.
Dashboards → New → Schedule
// install
Up and running in two commands.
# docker-compose.yml
services:
anabase:
image: ghcr.io/loyalid/anabase:latest
ports: ["3000:3000"]
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
volumes:
- anabase-data:/data
volumes:
anabase-data:
# then
$ docker compose up -dNeed configuration help? // docs →
// powered by
- Next.js
- LangChain
- Drizzle
- MySQL
- Tailwind CSS
// crafted by