MODRACXKENNETH D'SILVA

← Documentation Hub

Dabiro Database Manager: Reference Manual

A modern, zero-dependency, single-file database administration interface for MySQL, PostgreSQL, and SQLite. Drop one script into any PHP environment or execute via Node.js CLI to manage schemas, execute queries, and inspect relations with 7 themes and 13 languages.

1. Architecture & Key Design Principles

Traditional database management tools like phpMyAdmin require complex multi-file extractions, manual configuration files, and outdated user interfaces. Desktop GUIs like TablePlus or DBeaver require SSH tunnels that suffer from latency over remote or satellite connections.

Dabiro was built around three key architectural axioms:

  • Single-File Self-Containment: All HTML templates, CSS variables, client-side JavaScript, and database drivers are compiled into a single script (dabiro.php or dabiro.js). Zero vendor folders, zero build steps.
  • Multi-Engine Abstraction: Unified SQL drivers for MySQL (5.7+), MariaDB (10.0+), PostgreSQL (9.6+), and SQLite (3.0+).
  • Security by Default: Cryptographically generated CSRF tokens on all mutations, session binding to IP and User-Agent, and strict input parameterization.

2. Quick Start & Deployment

2.1. PHP Deployment (Single File)

Download the standalone PHP script directly to your web server document root:

# Download dabiro.php to your server
curl -O https://raw.githubusercontent.com/Modracx/Dabiro/main/php/dabiro.php

# Or using wget
wget https://raw.githubusercontent.com/Modracx/Dabiro/main/php/dabiro.php

# Open in your browser: https://your-server.com/dabiro.php

2.2. Node.js Standalone CLI / Server

# Clone and run via Node.js
git clone https://github.com/Modracx/Dabiro.git
cd Dabiro/node
npm install
node dabiro.js --port=8080

# Or run with npx without installing
npx dabiro-cli --port=8080

3. Supported Database Engines & Driver Matrix

Database Engine PHP Driver Node.js Driver Features Supported
MySQL / MariaDB pdo_mysql / mysqli mysql2 Indexes, Foreign Keys, Triggers, Table Partitioning, Dump/Export
PostgreSQL pdo_pgsql / pg pg Schemas, Enums, JSONB inspection, Sequences, View editing
SQLite 3 pdo_sqlite / sqlite3 better-sqlite3 Direct file browse, VACUUM, PRAGMA tuning, in-memory databases

4. Core Interface Features

4.1. SQL Editor & Query Runner

Features syntax highlighting, multi-query execution with sequential result tabs, execution time profiling in milliseconds, and 1-click export to CSV, JSON, or SQL INSERT statements.

4.2. Visual Schema Designer

Inspect entity-relationship models (ER diagrams) directly in the browser. Add columns, modify data types, and configure foreign key ON DELETE / ON UPDATE cascade constraints with automatic DDL generation.

4.3. 7 Built-In Themes & 13 Languages

Switch between Dark, Light, Sapphire, Emerald, Amethyst, Sunset, and Slate themes. Includes native translations for English, Spanish, German, French, Portuguese, Italian, Dutch, Russian, Chinese, Japanese, Korean, Arabic, and Hindi.

5. Production Security Hardening

To safely use Dabiro on production servers, enforce web server IP whitelisting or HTTP Basic Authentication in your Nginx configuration:

# /etc/nginx/sites-available/production.conf
location = /dabiro.php {
    # Allow only your VPN / office IP addresses
    allow 203.0.113.50;
    allow 198.51.100.0/24;
    deny all;

    # FastCGI PHP configuration
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}