Sign inSign up

toshislab/multi-db-manager

By toshislab

Updated 2 months ago

Web-based Dockerized database manager for MySQL, PostgreSQL, SQLite, MongoDB, and Redis.

Image
Databases & storage
0

77

toshislab/multi-db-manager repository overview

Multi DB Manager

Multi DB Manager is a web-based development tool for browsing and operating multiple databases from a single UI.

It is packaged as a Docker image and can be used locally to inspect databases through your browser.

Supported databases

  • MySQL
  • PostgreSQL
  • SQLite
  • MongoDB
  • Redis

Features

  • Data source management
  • Connection tests
  • Table, view, collection, and Redis key browsing
  • Data preview
  • Structure inspection
  • SQL / command console
  • Saved queries
  • ER diagrams for MySQL, PostgreSQL, and SQLite

Quick start

Create compose.yml:

services:
  manager:
    image: toshislab/multi-db-manager:dev
    tty: true
    ports:
      - "8089:8080"
    volumes:
      - ./data:/data

Then start the container:

docker compose up -d

Open:

http://localhost:8089

Try with sample databases

You can also start MySQL, PostgreSQL, Redis, and MongoDB together.

Create compose.yml:

services:
  manager:
    image: toshislab/multi-db-manager:dev
    tty: true
    ports:
      - "8089:8080"
    volumes:
      - ./data:/data

  mysql:
    image: mysql:8.4
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: app
      MYSQL_USER: app
      MYSQL_PASSWORD: password
    ports:
      - "13306:3306"
    volumes:
      - mysql-data:/var/lib/mysql

  postgres:
    image: postgres:18-trixie
    environment:
      POSTGRES_DB: app
      POSTGRES_USER: app
      POSTGRES_PASSWORD: password
    ports:
      - "15432:5432"
    volumes:
      - postgres18-data:/var/lib/postgresql

  redis:
    image: redis:8.8.0-trixie
    command: redis-server --appendonly yes --requirepass password
    ports:
      - "16379:6379"
    volumes:
      - redis-data:/data

  mongodb:
    image: mongo:8.2.9
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: password
      MONGO_INITDB_DATABASE: app
    ports:
      - "17017:27017"
    volumes:
      - mongodb-data:/data/db

volumes:
  mysql-data:
  postgres18-data:
  redis-data:
  mongodb-data:

Create data/config.json:

{
  "datasources": [
    {
      "id": 1,
      "name": "MySQL Sample",
      "driver": "mysql",
      "host": "mysql",
      "port": 3306,
      "database": "app",
      "username": "app",
      "password": "password"
    },
    {
      "id": 2,
      "name": "PostgreSQL Sample",
      "driver": "postgresql",
      "host": "postgres",
      "port": 5432,
      "database": "app",
      "username": "app",
      "password": "password"
    },
    {
      "id": 3,
      "name": "MongoDB Sample",
      "driver": "mongodb",
      "host": "mongodb",
      "port": 27017,
      "database": "app",
      "username": "root",
      "password": "password"
    },
    {
      "id": 4,
      "name": "Redis Sample",
      "driver": "redis",
      "host": "redis",
      "port": 6379,
      "database": "0",
      "username": "",
      "password": "password"
    }
  ],
  "language": "en",
  "theme": "dark"
}

Start:

docker compose up -d

Open:

http://localhost:8089

Data persistence

The manager stores its configuration and internal data under /data.

Mount a local directory to persist settings:

volumes:
  - ./data:/data

Notes

This project is intended for local development and internal database inspection.

Authentication, role-based access control, read-only mode, SSH tunneling, and encrypted credential storage are not yet implemented. Do not expose this service directly to untrusted networks.

License

This project is licensed under the MIT License.

Note: The LICENSE file will be added in a future update.

Tag summary

Content type

Image

Digest

sha256:01ab36964

Size

14.4 MB

Last updated

2 months ago

docker pull toshislab/multi-db-manager:dev