One local database toolkit for SQL and NoSQL: PostgreSQL, MySQL, MariaDB, MongoDB, Cassandra and FerretDB, each version-switchable, secure by default, with browser UIs — installed once and shared by many projects.
Runs on macOS, Windows and Linux across amd64 and arm64; dev-first, prod-capable. The registry badge is a static label rather than a version badge, because GHCR exposes no shields endpoint for a private package.
git clone https://github.com/simtabi/multidb-server-docker.git
cd multidb-server-docker
make init
make upPostgreSQL and Adminer are running, with no host port published — your
application joins the mdb_net network and connects to pg:5432. Set
MDB_PUBLISH=direct (or proxy) when a GUI client needs a host port; see
Configuration.
Add engines with profiles:
make up PROFILES=pg,mysql,mongodb,uiEvery engine is authenticated by default, which several of them are not out of the box — correcting that is a large part of why this exists.
| Engine | Paradigm | Versions | Pooling | Licence |
|---|---|---|---|---|
| PostgreSQL | relational | 15 · 16 · 17 · 18 | pgBouncer (required in prod) | PostgreSQL |
| MySQL | relational | 8.0 · 8.4 · 9.7 | ProxySQL (optional) | GPL-2.0 |
| MariaDB | relational | 10.11 · 11.4 · 11.8 | ProxySQL (optional) | GPL-2.0 |
| MongoDB | document | 7.0 · 8.0 · 8.3 | driver-side | SSPL — referenced, not published |
| Cassandra | wide-column | 4.1 · 5.0 | driver-side | Apache-2.0 |
| FerretDB | document | 2 | driver-side | Apache-2.0 |
Adding another is a descriptor file — see Adding an engine.
Full documentation is hosted at https://opensource.simtabi.com/documentation/simtabi/multidb-server/.
- Installation — prerequisites and first run
- Getting started — a new project connected in under a minute
- Configuration — every
MDB_variable - Architecture — how engines are declared rather than hardcoded
- Adding an engine — the extensibility contract
- Connection pooling — why the answer differs per engine
- Licensing — what you are running, and under what terms
- Image provenance — every image, its publisher, and why
- Operations — VPS, exposure, tuning, HA
- Release — how versions ship
- Specification — the build contract
- Acceptance — every criterion mapped to the check that proves it
- Design — pinned versions, capacity table, decision log
- Row-level security kit — database-enforced multi-tenancy
- Restore — the 2am runbook
- Upgrade — guided major-version migration
- Onboarding — migrate existing native databases in
- Windows — WSL2 and git-bash notes
Issues and discussions: https://github.com/simtabi/multidb-server-docker/issues.
See CONTRIBUTING.md and SECURITY.md.
MIT for this repository. Published images inherit the licence of the database they contain — see Licensing. See LICENSE.