drawDB
Database diagram editor for drawing entity relationships in the browser, then exporting them as SQL for MySQL, PostgreSQL, SQLite, MariaDB or SQL Server, or importing an existing schema to see it.
Database / Development / Tools
Database manager in the browser for PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB, Redis and more: browse and edit tables, write queries, compare schemas, draw diagrams and import or export data.
It isn't in the main Portainer Templates list yet, so use this one. Portainer takes one URL at a time, so it swaps out whatever list you had before.
In Portainer, head to Settings --> App Templates, paste this in as the URL and save.
https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/templates.json http://<your-server>:3600 in a browser.The same file Portainer deploys. It reads its settings from a .env next to it.
services:
dbgate:
image: dbgate/dbgate:latest
restart: unless-stopped
ports:
- "${DBGATE_PORT:-3600}:3000"
environment:
LOGIN: admin
PASSWORD: ${DBGATE_PASSWORD:?Set a password}
volumes:
- dbgate-data:/root/.dbgate
volumes:
dbgate-data:
Fill in the blanks, as DbGate won't start without them.
# Password (required) - For logging in as admin. DbGate has no login at all without one, hence required.
DBGATE_PASSWORD=
# Host port for the web UI
DBGATE_PORT=3600 Grab the file and start it.
mkdir dbgate && cd dbgate
curl -fsSL -o compose.yml https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/apps/dbgate/compose.yml
# save the .env tab here as .env first
docker compose up -d Set a password before you deploy, since the stack won't start without one. Then open http://<your-host>:3600 (or whichever port you picked) and log in as admin. Each browser gets asked once about anonymous usage analytics, which stay off unless you say yes. Add your databases with New Connection, and use dockerhost as the server for one published on the Docker host itself. A restart logs you out, nothing else is lost. Saved connections, queries and uploads live in the dbgate-data volume. Whenever someone opens it, DbGate's server also asks dbgate.cloud for new shared scripts and a premium advert, mentioning which kinds of database you use. Docs: docs.dbgate.io
What the Portainer form asks for. With compose they go in the .env file instead.
| Variable | What it's for | Default |
|---|---|---|
DBGATE_PASSWORD | Password (required) For logging in as admin. DbGate has no login at all without one, hence required. | Needs filling in |
DBGATE_PORT | Host port for the web UI | 3600 |
The containers this stack runs, with ports as they come out of the box.
| Service | Image | Ports |
|---|---|---|
dbgate | dbgate/dbgate:latest | 3600:3000 |