GitPedia

Libredb studio

A modern, blazing-fast SQL IDE for the cloud era. Query PostgreSQL, MySQL, SQLite & MongoDB from anywhere your browser is your new database studio.

From libredb·Updated June 28, 2026·View on GitHub·

The Modern, AI-Powered Open-Source SQL IDE for Cloud-Native Teams. The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2025. Key topics include: ai, cloud-native, database, db-gui, docker.

Latest release: 0.9.32
June 26, 2026View Changelog →
<p align="center"> <img src="public/logo.svg" width="200" alt="LibreDB Studio Logo" /> </p> <h1 align="center">LibreDB Studio</h1> <p align="center"> <strong>The Modern, AI-Powered Open-Source SQL IDE for Cloud-Native Teams.</strong> </p> <p align="center"> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> <a href="https://sonarcloud.io/project/overview?id=libredb_libredb-studio"><img src="https://sonarcloud.io/api/project_badges/measure?project=libredb_libredb-studio&metric=alert_status" alt="Quality Gate"></a> <a href="https://deepwiki.com/libredb/libredb-studio"><img src="https://img.shields.io/badge/Docs-DeepWiki-blue?logo=gitbook" alt="DeepWiki Docs"></a> <a href="https://artifacthub.io/packages/search?repo=libredb-studio"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/libredb-studio" alt="Artifact Hub"></a> </p> <p align="center"> <a href="https://nextjs.org/"><img src="https://img.shields.io/badge/Next.js-16-black?logo=next.js" alt="Next.js 16"></a> <a href="https://react.dev/"><img src="https://img.shields.io/badge/React-19-61DAFB?logo=react" alt="React 19"></a> <a href="https://www.docker.com/"><img src="https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker" alt="Docker Support"></a> <a href="https://kubernetes.io/"><img src="https://img.shields.io/badge/Kubernetes-Compatible-326CE5?logo=kubernetes" alt="Kubernetes Compatible"></a> </p> <p align="center"> <a href="#live-test"><strong>Try Live Test</strong></a> • <a href="#getting-started"><strong>Documentation</strong></a> • <a href="#one-click-deploy"><strong>Deploy Your Own</strong></a> </p> <p align="center"> <img src="public/screenshots/hero-editor.png" alt="LibreDB Studio - Professional SQL IDE" width="100%" /> </p>

Live Test

Try LibreDB Studio instantly without installation!

TestURLCredentials
Public Testapp.libredb.orgadmin@libredb.org / LibreDB.2026

The test instance comes with a pre-configured PostgreSQL database via Seed Connections. No setup required!


Overview

LibreDB Studio is a lightweight, high-performance, and secure web-based SQL editor designed to bridge the gap between heavy desktop applications (like DataGrip/DBeaver) and minimal CLI tools. Built with a "Mobile-First, Professional-Always" philosophy, it empowers engineering teams to manage databases anywhere—from a 4K monitor to a mobile screen.

Why LibreDB Studio?

  • Zero Install: Run a professional SQL IDE in your browser or private network.
  • Multi-Platform: Native-like experience on both Web and Mobile browsers.
    • AI-Native: Multi-model support (Gemini, OpenAI, or Local LLMs) for NL2SQL.
  • DevOps Ready: Optimized for Kubernetes orchestration and Docker environments.
  • Enterprise Grade: Built-in RBAC, SSO (OIDC), query auditing, and live health monitoring.
<p align="center"> <img src="public/screenshots/connection-modal.png" alt="Multi-Database Connection Manager" width="100%" /> <br/><em>Connect to PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, Redis, or SQLite with SSL/TLS and SSH Tunnel support.</em> </p>

Ask DeepWiki


Key Features

Professional SQL IDE

  • Monaco Engine: Powered by the same core as VS Code.
  • Smart Autocomplete: Schema-aware suggestions for tables, columns, and SQL keywords.
  • Multi-Tab Workspace: Handle parallel tasks with independent execution states.
  • Visual EXPLAIN: Graphical execution plans to identify performance bottlenecks.
  • Interactive ER Diagrams: Visual schema graph with real foreign key edges, cardinality labels, MiniMap navigation, table search/filter, compact mode, and PNG/SVG export. Automatic hierarchical layout powered by ELK.js.
  • Schema Diff & Migration: Compare schema snapshots or cross-connection schemas side-by-side. Color-coded diff view (added/removed/modified) with automatic migration SQL generation for PostgreSQL, MySQL, SQLite, Oracle, and SQL Server.
  • Snapshot Timeline: Visual horizontal timeline of schema snapshots. Click any two points to instantly compare and track schema evolution over time.
<p align="center"> <img src="public/screenshots/erd-diagram.png" alt="Interactive ER Diagram" width="100%" /> <br/><em>Visual schema explorer with interactive ER diagrams powered by ReactFlow.</em> </p>

Multi-Model AI Copilot

  • Universal LLM Support: Defaults to Gemini 2.5 Flash, but ready for OpenAI, Claude, or Local LLMs (Ollama/LM Studio).
  • NL2SQL: Generate complex queries from natural language with schema-aware context.
  • Query Safety Analysis: AI-powered pre-execution risk assessment for destructive queries (DELETE, DROP, TRUNCATE).
  • AI Query Explainer: EXPLAIN plans translated into plain language with optimization suggestions.
  • AI Query Autopilot: Automated slow query analysis with actionable index and rewrite recommendations.
  • Schema Awareness: AI understands your specific database structure for pinpoint accuracy.
  • Plug & Play: Works out of the box with zero complex configuration.
<p align="center"> <img src="public/screenshots/nl2sql.png" alt="NL2SQL - Natural Language to SQL" width="100%" /> <br/><em>Ask questions in plain English and get executable SQL queries instantly.</em> </p>

Pro Data Management

  • Universal Data Grid: Virtualized rendering (TanStack) for millions of rows.
  • Inline Editing: Double-click to update values directly in the grid.
  • Column Filtering: Per-column text filters on query results for instant data exploration.
  • Interactive Pivot Table: Client-side pivoting with 5 aggregation functions (COUNT, SUM, AVG, MIN, MAX) and SQL generation.
  • Expert Exporter: Instant CSV and JSON exports for reporting.

Advanced Data Visualization

  • 8 Chart Types: Bar, Line, Pie, Area, Scatter, Histogram, Stacked Bar, and Stacked Area charts powered by Recharts.
  • Data Aggregation: Group-by with SUM, AVG, COUNT, MIN, MAX aggregation functions. Date grouping by hour, day, week, month, or year.
  • Chart Persistence: Save chart configurations and reload them instantly. Manage a library of saved charts.
  • Chart Dashboard: Grid view of all saved charts for at-a-glance data overview directly in the bottom panel.

Data Privacy & Masking

  • Automatic Sensitive Column Detection: 10 built-in patterns (email, phone, credit card, SSN, password, IP, date, financial, and more) with regex-based column name matching.
  • Configurable Masking Rules: Admin panel to add, edit, enable/disable masking patterns. Custom patterns with regex support.
  • RBAC-Enforced Masking: User role cannot toggle or reveal masked data. Admin role has full control with per-cell temporary reveal (10s auto-hide).
  • Export Protection: CSV, JSON, and SQL INSERT exports contain masked values when masking is active — no raw data leakage.
  • Full Coverage: Masking applied across desktop grid, mobile card view, mobile table view, row detail sheet, and clipboard operations.
  • Persistent Configuration: Masking settings stored in localStorage and survive page reloads.

Analyst & Developer Tools

  • AI Data Profiler: One-click table profiling with column statistics (null %, cardinality, min/max, sample values) and AI-powered narrative summaries.
  • ORM Code Generator: Generate TypeScript interfaces, Zod schemas, Prisma models, Go structs, Python dataclasses, and Java POJOs from live table schemas.
  • Test Data Generator: Schema-aware fake data generation with 30+ semantic column inferences (email, phone, name, address, etc.). Produces INSERT statements or MongoDB insertMany JSON.
  • Database Documentation: Auto-generated searchable data dictionary from live schema with AI-powered documentation and Markdown export.
<p align="center"> <img src="public/screenshots/data-profiler.png" alt="AI Data Profiler" width="80%" /> <br/><em>One-click column profiling: null %, cardinality, min/max, and sample values for 300K+ rows.</em> </p> <p align="center"> <img src="public/screenshots/code-generator.png" alt="ORM Code Generator" width="80%" /> <br/><em>Generate TypeScript interfaces, Prisma models, Go structs, and more from live schemas.</em> </p>

Authentication & SSO

  • Dual Auth Modes: Local email/password login or OpenID Connect (OIDC) Single Sign-On — switchable via environment variable.
  • Vendor-Agnostic OIDC: Works with any OIDC-compliant provider — Auth0, Keycloak, Okta, Azure AD, Zitadel, Google, and more.
  • PKCE Security: Authorization Code Flow with Proof Key for Code Exchange (S256) for secure authentication.
  • Auto Role Mapping: Configurable claim-based role mapping with dot-notation for nested claims (e.g., realm_access.roles).
  • Provider Logout: Logout clears both local JWT session and identity provider session.

DBA Maintenance Toolkit (Admin Only)

  • Live Monitoring Dashboard: 7-tab monitoring with Overview, Performance, Queries, Sessions, Tables, Storage, and Connection Pool views.
  • Time-Series Trend Charts: Real-time metric trends (connections, cache hit ratio, buffer pool, deadlocks) with auto-refreshing ring buffer history.
  • Configurable Auto-Refresh: Polling intervals from 5s to 60s with play/pause control.
  • Threshold Alerting: Color-coded health indicators (healthy/warning/critical) for cache hit ratio, connection usage, deadlocks, and buffer pool utilization.
  • Connection Pool Stats: Live total/active/idle/waiting pool metrics with utilization progress bars.
  • One-Click Maintenance: Trigger VACUUM, ANALYZE, REINDEX, UPDATE STATISTICS, DBCC CHECKDB, and ALTER INDEX REBUILD per database engine.
  • Audit Trail: Full history of every query executed across the organization.

Supported Databases

DatabaseDriverFeatures
PostgreSQLpgFull SQL IDE, EXPLAIN plans, transactions, query cancellation (pg_cancel_backend), SSL/TLS, SSH tunnel
MySQLmysql2Full SQL IDE, EXPLAIN plans, transactions, query cancellation (KILL QUERY), SSL/TLS, SSH tunnel
Oracleoracledb (Thin mode)Full SQL IDE, FETCH FIRST N ROWS pagination, V$ monitoring views, ANALYZE TABLE, ALTER INDEX REBUILD, transactions
SQL Servermssql (tedious)Full SQL IDE, TOP N / OFFSET FETCH pagination, sys.dm_* DMVs, UPDATE STATISTICS, DBCC CHECKDB, transactions, Azure SQL auto-detect
SQLitebun:sqliteFull SQL IDE, file-based or in-memory databases (server-local file)
MongoDBmongodbJSON query editor, collection operations (find, aggregate, insert, update, delete)
RedisioredisCommand editor, key browser, INFO-based monitoring

All SQL databases share: schema explorer, ER diagrams, schema diff & migration, data masking, monitoring dashboard, and connection string import.

Provider reference docs: each database has an in-depth reference (design, connection, query format, monitoring, limitations) under docs/providers/. For the provider architecture and a guide to adding a new database, see docs/DATABASE_PROVIDERS.md.


Tech Stack

ComponentTechnologyTarget
FrameworkNext.js 16 (App Router), React 19Web, Mobile
UI EngineTailwind CSS 4, Radix UI, shadcn/uiWeb, Mobile
ThemingCSS Variables + @theme inline (Guide)Web, Mobile
EditorMonaco Editor (VS Code Engine)Web
AIMulti-Model (Gemini, OpenAI, Ollama, Custom)Web, Mobile
AuthJWT (jose) + OIDC (openid-client), PKCE, Role MappingWeb, Mobile
DatabasePostgreSQL, MySQL, Oracle, SQL Server, SQLite, MongoDB, RedisWeb, Mobile
ChartsRecharts (Bar, Line, Pie, Area, Scatter, Histogram, Stacked)Web, Mobile
ERDReact Flow, ELK.js (auto-layout)Web
State/GridTanStack Table & VirtualWeb, Mobile
DeploymentDocker, KubernetesWeb

Getting Started

Quick Start (Docker)

Run LibreDB Studio with a single command — no clone, no install, no build:

bash
docker run -d \ --name libredb-studio \ -p 3000:3000 \ -e ADMIN_EMAIL=admin@libredb.org \ -e ADMIN_PASSWORD=LibreDB.2026 \ -e USER_EMAIL=user@libredb.org \ -e USER_PASSWORD=LibreDB.2026 \ -e JWT_SECRET=change-me-to-a-random-32-char-string \ ghcr.io/libredb/libredb-studio:latest

Registry: ghcr.io/libredb/libredb-studio is the primary image (no pull rate limits — preferred for Kubernetes/CI). The same image is also mirrored to Docker Hub as libredb/libredb-studio for convenience.

Open http://localhost:3000 and login with admin@libredb.org / LibreDB.2026.

Tip: Add -e LLM_PROVIDER=gemini -e LLM_API_KEY=your_key -e LLM_MODEL=gemini-2.5-flash to enable AI features.

Prerequisites

  • Bun (Recommended) or Node.js 24+
  • A target database to query (PostgreSQL, MySQL, Oracle, SQL Server, SQLite, MongoDB, or Redis)

Quick Start (Local)

  1. Clone & Install
    bash
    git clone https://github.com/libredb/libredb-studio.git cd libredb-studio bun install
2. **Configure Environment**
   Create a `.env.local` file:
   ```env
   # Authentication (email/password)
   ADMIN_EMAIL=admin@libredb.org
   ADMIN_PASSWORD=your_admin_password
   USER_EMAIL=user@libredb.org
   USER_PASSWORD=your_user_password
   JWT_SECRET=your_32_character_random_string

   # Optional: OIDC Single Sign-On (Auth0, Keycloak, Okta, Azure AD, etc.)
   # NEXT_PUBLIC_AUTH_PROVIDER=oidc
   # OIDC_ISSUER=https://your-provider.com
   # OIDC_CLIENT_ID=your_client_id
   # OIDC_CLIENT_SECRET=your_client_secret

   # LLM Configuration
   LLM_PROVIDER=gemini # options: gemini, openai, ollama, custom
   LLM_API_KEY=your_api_key
   LLM_MODEL=gemini-2.5-flash
   LLM_API_URL=http://localhost:11434/v1 # optional for local LLMs (Ollama)
   ```

3. Launch

bash
bun dev

Open http://localhost:3000


Development Databases

Need databases to test with? We provide ready-to-use containers for all supported engines:

bash
# Start all development databases (PostgreSQL, MySQL, MongoDB, SQL Server, Oracle) docker compose -f database-compose.yml up -d # Or start a specific database docker compose -f database-compose.yml up -d postgres docker compose -f database-compose.yml up -d mssql docker compose -f database-compose.yml up -d oracle # Start PostgreSQL with sample e-commerce data docker compose -f docker/postgres.yml up -d # Stop (keeps data) docker compose -f database-compose.yml down # Stop and remove all data docker compose -f database-compose.yml down -v

Connection Details

DatabaseHostPortUserPasswordDatabase/Service
PostgreSQLlocalhost5432postgrespostgrespostgres
MySQLlocalhost3306rootrootmysql
SQL Serverlocalhost1433saPassword123!master
Oraclelocalhost1521systemPassword123!freepdb1
MongoDBlocalhost27017adminadmin

PostgreSQL Sample Data

The docker/postgres.yml setup includes a pre-loaded e-commerce schema:

FeatureDescription
PostgreSQL 17Latest Alpine image
pg_stat_statementsPre-enabled for query monitoring
Sample SchemaE-commerce database (app schema)
Sample Data25 customers, 30 products, 100 orders
ViewsOrder summary, product sales, customer LTV

Sample tables: app.customers, app.products, app.orders, app.order_items, app.product_reviews, app.categories, app.coupons, app.audit_log

This setup is ideal for testing the Monitoring Dashboard features with real pg_stat_statements data.


Testing

LibreDB Studio has a comprehensive test suite with 2,500+ unit/integration tests and 35 E2E tests across 6 layers, achieving 96%+ line coverage.

Quick Commands

bash
# Run all tests (unit + API + integration + hooks + components) bun run test # Run by layer bun run test:unit # Pure function tests (800 cases) bun run test:api # API route handler tests (205 cases) bun run test:integration # Database provider tests (294 cases) bun run test:hooks # React hook tests (178 cases) bun run test:components # Component tests with mock isolation (194 cases) # E2E tests (requires build) bun run test:e2e # Playwright browser tests (35 cases) # Coverage report (lcov) bun run test:coverage

Test Architecture

LayerDirectoryRunnerTestsWhat it covers
Unittests/unit/bun:test~800Pure functions: SQL parser, connection strings, data masking, query limiter, schema diff, error classes, DB icons, showcase queries
APItests/api/bun:test~205Route handlers: auth, query, transaction, maintenance, AI endpoints, middleware
Integrationtests/integration/bun:test~294Database providers: PG, MySQL, SQLite, MongoDB, Redis, Oracle, MSSQL
Hookstests/hooks/bun:test~178React hooks: auth, connections, tabs, query execution, transactions, inline editing, AI chat, monitoring
Componentstests/components/bun:test + happy-dom~194UI components: Studio, Sidebar, QueryEditor, ResultsGrid, Admin Dashboard, Charts, ERD
E2Ee2e/Playwright~35Full browser flows: login, connections, query execution, tabs, export, admin

Key Details

  • Test runner: bun:test (built-in, Jest-compatible API) with happy-dom for DOM environment
  • Component isolation: Component tests run in 6 isolated groups via tests/run-components.sh to prevent mock.module() cross-contamination
  • E2E: Playwright with Chromium, runs against a production build (bun run build && bun start)
  • CI: GitHub Actions runs lint + typecheck + build, unit/integration tests with coverage, E2E tests, and SonarCloud analysis
  • Coverage: bun test --coverage generates lcov reports for SonarCloud integration

Important: Always use bun run test instead of bare bun test. The test script handles proper isolation between test groups.


One-Click Deploy

Deploy your own instance of LibreDB Studio with a single click on Koyeb, Render, Railway, or CapRover:

Deploy to Koyeb

Deploy to Render
Deploy on Railway
Deploy on CapRover

CapRover: open your CapRover dashboard → Apps → One-Click Apps/Databases, search for LibreDB Studio, and deploy.

Koyeb: set a strong JWT_SECRET and credentials before deploying (Koyeb cannot auto-generate secrets). The button uses STORAGE_PROVIDER=local — connection metadata lives in the browser, which suits Koyeb's ephemeral filesystem. For persistence across redeploys, switch to STORAGE_PROVIDER=postgres and point STORAGE_POSTGRES_URL at a Koyeb managed Postgres or Neon database. See deploy/koyeb/.

Cosmos: install in one click from the Cosmos Marketplace — search for LibreDB Studio. Cosmos auto-generates secrets, provisions a persistent SQLite volume, and serves the app behind its SmartShield reverse proxy. See deploy/cosmos/.

Environment Variables

VariableRequiredDescription
ADMIN_EMAILAdmin email (default: admin@libredb.org)
ADMIN_PASSWORDAdmin password
USER_EMAILUser email (default: user@libredb.org)
USER_PASSWORDUser password
JWT_SECRETSecret for JWT tokens (min 32 chars)
NEXT_PUBLIC_AUTH_PROVIDERlocal (default) or oidc for SSO
OIDC_ISSUEROIDC issuer URL (required when oidc)
OIDC_CLIENT_IDOIDC client ID (required when oidc)
OIDC_CLIENT_SECRETOIDC client secret (required when oidc)
OIDC_ADMIN_ROLESComma-separated admin role values (default: admin)
OIDC_ROLE_CLAIMClaim path for role (e.g. realm_access.roles)
OIDC_SCOPEOIDC scope (default: openid profile email)
LLM_PROVIDERAI provider: gemini, openai, ollama
LLM_API_KEYAPI key for AI features
LLM_MODELModel name (e.g., gemini-2.5-flash)
STORAGE_PROVIDERStorage provider: local (default), sqlite, or postgres
STORAGE_POSTGRES_URLPostgreSQL connection URL (required when STORAGE_PROVIDER=postgres)
SEED_CONFIG_PATHPath to seed connections YAML config (see Seed Connections)
SEED_CACHE_TTL_MSSeed config cache TTL in ms (default: 60000)

Tip: Copy .env.example to .env.local for local development.


Deployment (DevOps)

Koyeb

  1. Fork this repository
  2. Connect to Koyeb: app.koyeb.com → New → Blueprint
  3. Select your forked repo and Koyeb will auto-detect koyeb.yaml
  4. Set Environment Variables in Koyeb Dashboard:
  5. Deploy!

Railway

LibreDB Studio is available as a one-click Railway template.
See deploy/railway/ for the template definition, install
instructions, and the publish checklist. The template runs the prebuilt
ghcr.io/libredb/libredb-studio image with SQLite persistence on a Railway
volume. Note: Docker-image templates require a manual version bump on each
release (same as CapRover).

CapRover

LibreDB Studio is published in the official CapRover One-Click Apps catalog:

  1. Open your CapRover dashboardApps → One-Click Apps/Databases
  2. Search for LibreDB Studio
  3. Fill in the variables (admin/user credentials, JWT_SECRET, optional AI/storage settings)
  4. Deploy!

The app runs the prebuilt ghcr.io/libredb/libredb-studio image. As with Railway, Docker-image templates require a manual version bump on each release.

Kubero

LibreDB Studio is listed in the official
Kubero template catalog (a self-hosted
"Heroku alternative for Kubernetes"). From your Kubero dashboard, browse
Templates, search LibreDB Studio, fill in the credentials / JWT_SECRET,
and deploy. The template runs the prebuilt ghcr.io/libredb/libredb-studio image
with SQLite persistence on a 5Gi volume at /app/data. See
deploy/kubero/ for install and post-install details. As with
Railway and CapRover, Docker-image templates require a manual version bump on
each release.

Cosmos

LibreDB Studio is listed in the official
Cosmos servapp marketplace
(Cosmos is a self-hosted server manager and secure
reverse proxy). From your Cosmos dashboard, open Marketplace, search
LibreDB Studio, and install. Cosmos auto-generates the credentials and
JWT_SECRET, provisions a persistent SQLite volume at /app/data, and serves
the app behind a SmartShield-protected route. See
deploy/cosmos/ for install and post-install details. As with
Railway, CapRover, and Kubero, Docker-image templates require a manual version
bump on each release.

LibreDB Studio includes a render.yaml Blueprint for one-click deployment:

  1. Fork this repository
  2. Connect to Render: dashboard.render.com → New → Blueprint
  3. Select your forked repo and Render will auto-detect render.yaml
  4. Set Environment Variables in Render Dashboard:
  5. Deploy!

Docker Compose (Self-Hosted)

Use the ready-to-use docker-compose.example.yml — it pulls the published image (ghcr.io/libredb/libredb-studio:latest), so no source build is needed. It documents every supported environment variable (auth, OIDC, storage, LLM, seed connections), with the less-common ones commented out.

bash
# 1. Copy the ready-to-use compose file cp docker-compose.example.yml docker-compose.yml # 2. Create your .env (set at least JWT_SECRET / ADMIN_PASSWORD / USER_PASSWORD) cp .env.example .env # 3. Start docker compose up -d # → http://localhost:3000

This file is platform-neutral and works with PaaS tools that consume a plain docker-compose.yml (Dokploy, Coolify, Portainer, etc.) — point them at the file and set the secrets as environment variables.

The repository's default docker-compose.yml builds the image from source (build: .) and is intended for local development.

Kubernetes (Helm Chart)

bash
helm repo add libredb https://libredb.org/libredb-studio/ helm install libredb libredb/libredb-studio \ --set secrets.jwtSecret=$(openssl rand -base64 32) \ --set secrets.adminPassword=MyAdmin123 \ --set secrets.userPassword=MyUser123

Or via OCI registry:

bash
helm install libredb oci://ghcr.io/libredb/charts/libredb-studio --version 0.1.0 \ --set secrets.jwtSecret=$(openssl rand -base64 32) \ --set secrets.adminPassword=MyAdmin123 \ --set secrets.userPassword=MyUser123

Features: PostgreSQL subchart, Ingress/TLS, HPA, PDB, NetworkPolicy, ExternalSecrets support. See charts/libredb-studio/README.md for full documentation.

Seed Connections (Pre-Configured Databases)

Pre-configure database connections via a YAML config file so users see them immediately after login. Ideal for Platform/SaaS deployments where admins provision databases for teams.

Features:

  • Role-based access control (admin, user, * wildcard)
  • Hybrid model: managed: true (read-only, admin-controlled) or managed: false (editable copy for user)
  • Credentials injected via ${ENV_VAR} syntax — never stored in config file
  • Hot-reload: config changes apply within 60s without restart
  • Works with Docker, docker-compose, and Kubernetes (Helm)

1. Create a config file (seed-connections.yaml):

yaml
version: "1" defaults: managed: true environment: production connections: - id: "prod-analytics" name: "Production Analytics" type: postgres host: analytics-db.internal port: 5432 database: analytics user: "readonly_user" password: "${ANALYTICS_DB_PASSWORD}" roles: ["admin"] color: "#10B981" - id: "dev-sandbox" name: "Dev Sandbox" type: mysql host: dev-mysql.internal port: 3306 database: sandbox user: "dev_user" password: "${DEV_DB_PASSWORD}" roles: ["*"] managed: false

2. Mount and configure:

<details> <summary><strong>Docker</strong></summary>
bash
docker run -v ./seed-connections.yaml:/app/config/seed-connections.yaml:ro \ -e SEED_CONFIG_PATH=/app/config/seed-connections.yaml \ -e ANALYTICS_DB_PASSWORD=secret \ -e DEV_DB_PASSWORD=devsecret \ ghcr.io/libredb/libredb-studio:latest
</details> <details> <summary><strong>Docker Compose</strong></summary>
yaml
services: app: image: ghcr.io/libredb/libredb-studio:latest volumes: - ./seed-connections.yaml:/app/config/seed-connections.yaml:ro environment: SEED_CONFIG_PATH: /app/config/seed-connections.yaml ANALYTICS_DB_PASSWORD: ${ANALYTICS_DB_PASSWORD} DEV_DB_PASSWORD: ${DEV_DB_PASSWORD}
</details> <details> <summary><strong>Kubernetes (Helm)</strong></summary>
yaml
# values.yaml seedConnections: enabled: true config: version: "1" connections: - id: "prod-analytics" name: "Production Analytics" type: postgres host: analytics-db.internal password: "${ANALYTICS_DB_PASSWORD}" roles: ["admin"] # Credentials via K8s Secret: extraEnvFrom: - secretRef: name: seed-db-credentials
</details>

Config Reference:

FieldRequiredDescription
versionYesMust be "1"
defaultsNoDefault values merged into all connections
connections[].idYesUnique slug ([a-z0-9-]+, max 64 chars)
connections[].nameYesDisplay name in UI
connections[].typeYespostgres, mysql, sqlite, mongodb, redis, oracle, mssql
connections[].rolesYes["*"] (everyone), ["admin"], ["user"], or ["admin", "user"]
connections[].managedNotrue = read-only (default), false = editable copy for user
connections[].passwordNoUse ${ENV_VAR} syntax for secrets
connections[].environmentNoproduction, staging, development, local, other
connections[].groupNoGroup label in sidebar
connections[].colorNoHex color for badge (e.g., #10B981)

Environment Variables:

VariableDefaultDescription
SEED_CONFIG_PATH/app/config/seed-connections.yamlPath to config file
SEED_CACHE_TTL_MS60000Cache TTL in ms (hot-reload interval)

Roadmap

  • Phase 1: Monaco SQL IDE & Multi-Tab Support.
  • Phase 2: Multi-Model AI (Gemini, OpenAI, Ollama, Custom) Integration.
  • Phase 3: Pro Data Grid & Virtualization.
  • Phase 4: Multi-Database Support (PostgreSQL, MySQL, SQLite, MongoDB, Redis).
  • Phase 5: Interactive ER Diagrams (Visual Schema Graph).
  • Phase 6: Enterprise Foundation (Connection Testing, SSL/TLS, SSH Tunnel, Transaction Control, Query Cancellation).
  • Phase 7: AI Intelligence (NL2SQL, Query Safety Analysis, AI Index Advisor, Multi-Turn Chat, Query Autopilot).
  • Phase 8: Analyst & Developer Tools (Data Profiler, Code Generator, Test Data Generator, Pivot Table, Column Filtering, Database Docs).
  • Phase 9: Data Privacy (Automatic Sensitive Column Detection, Configurable Masking Patterns, RBAC-Enforced Masking, Export Protection).
  • Phase 10: Advanced ERD (Real FK Edges, ELK.js Auto-Layout, MiniMap, PNG/SVG Export, Compact Mode, Table Search).
  • Phase 11: Schema Diff & Migration (Snapshot Timeline, Cross-Connection Diff, Migration SQL Generation for PG/MySQL/SQLite).
  • Phase 12: Advanced Charting (Scatter, Histogram, Stacked Charts, Aggregation, Date Grouping, Chart Save/Load, Chart Dashboard).
  • Phase 13: Monitoring Enhancement (Time-Series Trends, Threshold Alerting, Connection Pool Stats, Configurable Polling).
  • Phase 14: Enterprise Database Support (Oracle Database via oracledb Thin mode, Microsoft SQL Server via mssql/tedious).
  • Phase 15: SSO Integration — Vendor-agnostic OIDC authentication (Auth0, Keycloak, Okta, Azure AD, Zitadel) with PKCE, role mapping, and provider logout.
  • Phase 16: DBA & Monitoring (Lock Dependency Graph, Vacuum Scheduler, Prometheus Export).
  • Phase 17: Enterprise Collaboration (User Identity, Shared Workspaces, SAML 2.0).

Community & Quality

ResourceDescription
DeepWikiAI-powered documentation — always up-to-date with the codebase
SonarCloudCode quality, security analysis, and technical debt tracking
API DocsComplete REST API reference
OIDC SSOSSO setup (Auth0, Keycloak, Okta, Azure AD, Zitadel, Google) + subsystem internals & security model
Theming GuideCSS theming, dark mode, and styling customization
Login PageLogin page layout, OIDC/local modes, and design system
Editor DocsSQL editor internals — completion, performance, query optimization
ArchitectureSystem architecture and design patterns

Support

libredb-studio is free and open source. If it helps you or your team, consider
sponsoring the project — your support
funds maintenance, bug fixes, new database providers, and the ongoing
development of the open-source edition.

Sponsor


Sponsors

<!-- sponsors-start -->

Be the first to sponsor libredb-studio!

<!-- sponsors-end -->

Contributing

We welcome contributions from the community! Whether it's a bug fix, a new feature, or documentation improvements:

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

License

Distributed under the MIT License. See LICENSE for more information.


<p align="center"> Built for DBAs and Developers. </p>

Contributors

Showing top 7 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from libredb/libredb-studio via the GitHub API.Last fetched: 6/29/2026