DbGate is Your To-Go SQL/ NoSQL Database Manager for Windows, Linux and macOS
DbGate is a cross-platform database manager that is designed to be user-friendly and highly effective, especially when working with multiple databases simultaneously.
It offers a range of advanced features including schema comparison, a visual query designer, chart visualization, and capabilities for batch export and import.
Pure Open-source
DbGate is available for free under the MIT license, emphasizing its commitment to accessibility and open-source collaboration. Users can try it online, download it for Windows, Linux, or Mac, or run the web version as an NPM package or Docker image.
Supports NoSQL and SQL Databases
The software supports various databases, including MySQL, PostgreSQL, SQL Server, Oracle (experimental), MongoDB, Redis, SQLite, Amazon Redshift, CockroachDB, and MariaDB, further demonstrating its versatility and broad applicability.
Features Highlight
DB Connections
This feature allows you to connect to multiple databases either directly or through an SSH tunnel.
Data Editor
You can browse or edit data in your tables or views, and filter the data by column value.
SQL Editor and SQL Generator
This feature allows you to edit SQL queries with the help of auto-complete suggestions.
Export and Import
You can export and import data from/to CSV, JSON or Excel formats. This feature also supports JavaScript scripting.
NoSQL Database Support
This feature allows you to connect to MongoDB or Redis, browse or filter JSON document data.
SQL/MongoDB Query Builder
This tool allows you to visually design queries or combine data from SQL or MongoDB databases.
Schema Editor and Deployer
Edit your table schema with keys and indexes. You can also use the database compare tool and deploy your DB models.
Plugins
This feature allows you to use custom plugins for various import/export formats.
NDJSON Viewer
A powerful viewer is provided for NDJSON/JSON lines format.
Other Features
The software provides ER diagrams, dark theme, charts, maps, and configurable keyboard shortcuts.
Web App Configuration and Authorization
The web app provides authorization using OAuth or with LDAP/Active directory.
Rich Feature Set
- Table data editing, with SQL change script preview
- Edit table schema, indexes, primary and foreign keys
- Compare and synchronize database structure
- ER diagram
- Light and dark theme
- Master/detail views, foreign key lookups
- Query designer
- Form view for comfortable work with tables with many columns
- JSON view on MongoDB collections
- Explore tables, views, procedures, functions, MongoDB collections
- SQL editor
- execute SQL script
- SQL code formatter
- SQL code completion
- Add SQL LEFT/INNER/RIGHT join utility
- Mongo JavaScript editor, execute Mongo script (with NodeJs syntax)
- Redis tree view, generate script from keys, run Redis script
- Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client.
- Import, export from/to CSV, Excel, JSON, NDJSON, XML
- Free table editor - quick table data editing (cleanup data after import/before export, prototype tables etc.)
- Archives - backup your data in NDJSON files on local filesystem (or on DbGate server, when using web application)
- Charts, export chart to HTML page
- For detailed info, how to run DbGate in docker container, visit docker hub
- Extensible plugin architecture
- Perspectives - nested table view over complex relational data, query designer on MongoDB databases
Built with Web Technologies
The app is built using Node.js, JavaScript, and Svelte framework. It uses Electron.js to build the desktop app.
Supported Platforms
- Windows
- Windows Portable
- Linux: AppImage, Debian, Snap package,
- Linux ARM
- macOS Intel
- macOS Apple Silicon
- Docker
- NPM package
Install as a Self-hosted App using Docker
You can easily install DbGate using the Docker image:
Pull the image from the Docker Hub Repository
docker pull dbgate/dbgate
Use the following command to start a container with DbGate
docker run -it --name dbgate-instance --restart always -p <port on host>:3000 dbgate/dbgate
If you want to preconfigure connections:
docker run -it --name dbgate-instance --restart always -p <port on host>:3000 -e CONNECTIONS='mssql' -e LABEL_mssql='MS SQL' -e SERVER_mssql='SERVER_IP' -e USER_mssql='USER' -e PASSWORD_mssql='PWD' -e ENGINE_mssql='mssql@dbgate-plugin-mssql' dbgate/dbgate
If you want to install it using Docker Compose, you can use the following snippet
version: '3'
services:
dbgate:
image: dbgate/dbgate
restart: always
ports:
- 80:3000
volumes:
- dbgate-data:/root/.dbgate
environment:
CONNECTIONS: con1,con2,con3,con4
LABEL_con1: MySql
SERVER_con1: mysql
USER_con1: root
PASSWORD_con1: TEST
PORT_con1: 3306
ENGINE_con1: mysql@dbgate-plugin-mysql
LABEL_con2: Postgres
SERVER_con2: postgres
USER_con2: postgres
PASSWORD_con2: TEST
PORT_con2: 5432
ENGINE_con2: postgres@dbgate-plugin-postgres
LABEL_con3: MongoDB
URL_con3: mongodb://mongo:27017
ENGINE_con3: mongo@dbgate-plugin-mongo
LABEL_con4: SQLite
FILE_con4: /home/jan/feeds.sqlite
ENGINE_con4: sqlite@dbgate-plugin-sqlite
volumes:
dbgate-data:
driver: local
License
DbGate is released as an open-source app under the MIT license.