This is a modern, user-friendly self-hosted DB management web ui built with Next.js, TypeScript, and shadcn/ui. It provides a simpler and more elegant alternative to traditional database management tools like pgAdmin, phpMyAdmin, and SQL Server Management Studio.
- PostgreSQL - Full support for PostgreSQL databases
- MySQL - Complete MySQL database management
- Microsoft SQL Server - MSSQL database operations and management
- Full CRUD Operations: Create, read, update, and delete records from your database tables. Has UI for filters/sorts with pagination.
- Schema Introspection: Automatically discover and visualize your database schema, including tables, columns, relationships, and constraints.
- Custom SQL Queries: Write and execute custom SQL queries with syntax highlighting and result visualization + exports to CSV.
Browse and manage your database tables with an intuitive interface featuring sorting, filtering, and pagination.
Automatically discover and visualize your database schema, including tables, columns, relationships, and constraints.
Write and execute custom SQL queries with syntax highlighting and comprehensive result visualization.
Edit database records directly in the interface with validation and real-time updates.
Quickly find and navigate to any table in your database with intelligent search capabilities.
- Fuzzy Search: The sidebar includes a fuzzy search bar that helps you quickly find tables
- Keyboard Shortcuts:
- Press
Cmd+K(Mac) orCtrl+K(Windows/Linux) to focus the search bar - Press
Enterto navigate to the first matching table - Press
Escapeto clear the search and unfocus
- Press
- Real-time Filtering: Tables are filtered as you type with intelligent fuzzy matching
Get intelligent assistance for your database operations with an AI-powered chat interface.
- AI-Powered Database Assistant: Interactive chat interface with an AI that knows your database schema
- Schema-Aware Responses: The AI has access to your complete database structure and can help with:
- Understanding table relationships
- Writing SQL queries
- Database optimization suggestions
- Data analysis insights
- Real-time Streaming: Responses are streamed in real-time for a smooth chat experience
Interactive chat with an AI assistant that understands your database schema and can help with queries and optimization.
This application can also be deployed using Docker for consistent and portable deployments.
The application is automatically published to GitHub Container Registry. To use the published image:
docker pull ghcr.io/n7olkachev/db-ui:latestFor PostgreSQL:
docker run -d \
--name db-ui-app \
-p 3000:3000 \
-e POSTGRES_HOST=your_database_host \
-e POSTGRES_USER=your_username \
-e POSTGRES_PASSWORD=your_password \
-e POSTGRES_DB=your_database \
-e POSTGRES_PORT=5432 \
-e GROQ_API_KEY=your_groq_api_key \
-e GROQ_MODEL=llama-3.1-70b-versatile \
ghcr.io/n7olkachev/db-ui:latestFor MySQL:
docker run -d \
--name db-ui-app \
-p 3000:3000 \
-e MYSQL_HOST=your_database_host \
-e MYSQL_USER=your_username \
-e MYSQL_PASSWORD=your_password \
-e MYSQL_DB=your_database \
-e MYSQL_PORT=3306 \
-e GROQ_API_KEY=your_groq_api_key \
-e GROQ_MODEL=llama-3.1-70b-versatile \
ghcr.io/n7olkachev/db-ui:latestFor Microsoft SQL Server:
docker run -d \
--name db-ui-app \
-p 3000:3000 \
-e MSSQL_HOST=your_database_host \
-e MSSQL_USER=your_username \
-e MSSQL_PASSWORD=your_password \
-e MSSQL_DB=your_database \
-e MSSQL_PORT=1433 \
-e GROQ_API_KEY=your_groq_api_key \
-e GROQ_MODEL=llama-3.1-70b-versatile \
ghcr.io/n7olkachev/db-ui:latestReplace the database connection details and your_groq_api_key with your actual values.
-
Build the Docker Image:
docker build -t db-ui . -
Run the Built Image:
For PostgreSQL:
docker run -d \ --name db-ui-app \ -p 3000:3000 \ -e POSTGRES_HOST=your_database_host \ -e POSTGRES_USER=your_username \ -e POSTGRES_PASSWORD=your_password \ -e POSTGRES_DB=your_database \ -e POSTGRES_PORT=5432 \ -e GROQ_API_KEY=your_groq_api_key \ -e GROQ_MODEL=llama-3.1-70b-versatile \ db-ui
For MySQL:
docker run -d \ --name db-ui-app \ -p 3000:3000 \ -e MYSQL_HOST=your_database_host \ -e MYSQL_USER=your_username \ -e MYSQL_PASSWORD=your_password \ -e MYSQL_DB=your_database \ -e MYSQL_PORT=3306 \ -e GROQ_API_KEY=your_groq_api_key \ -e GROQ_MODEL=llama-3.1-70b-versatile \ db-ui
For Microsoft SQL Server:
docker run -d \ --name db-ui-app \ -p 3000:3000 \ -e MSSQL_HOST=your_database_host \ -e MSSQL_USER=your_username \ -e MSSQL_PASSWORD=your_password \ -e MSSQL_DB=your_database \ -e MSSQL_PORT=1433 \ -e GROQ_API_KEY=your_groq_api_key \ -e GROQ_MODEL=llama-3.1-70b-versatile \ db-ui
- Node.js 18+
- npm, yarn, pnpm
- One of the supported databases:
- PostgreSQL database (local or remote)
- MySQL database (local or remote)
- Microsoft SQL Server database (local or remote)
-
Build the Application:
npm run build # or yarn build # or pnpm build
-
Start the Production Server:
npm start # or yarn start # or pnpm start
The application will be available at http://localhost:3000.
Choose the appropriate environment template for your database and copy it to .env:
For PostgreSQL:
cp env.postgresql .envExample PostgreSQL configuration:
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=sampledb
POSTGRES_USER=admin
POSTGRES_PASSWORD=adminFor MySQL:
cp env.mysql .envExample MySQL configuration:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DB=testdb
MYSQL_USER=admin
MYSQL_PASSWORD=adminFor Microsoft SQL Server:
cp env.mssql .envExample MSSQL configuration:
MSSQL_HOST=localhost
MSSQL_PORT=1433
MSSQL_DB=testdb
MSSQL_USER=sa
MSSQL_PASSWORD=yourStrong(!)PasswordThen edit .env with your actual database connection details.
-
Install Dependencies:
npm install # or yarn install # or pnpm install
-
Run the Development Server:
npm run dev # or yarn dev # or pnpm dev
-
Access the Application: Open http://localhost:3000 in your browser to see the application.