Sign inSign up

dolthub/dumbodb

By dolthub

Updated 13 days ago

MongoDB and Git had a baby, and it's named Dumbo.

Image
0

1.7K

dolthub/dumbodb repository overview

DumboDB —Document DB with Version Control

DumboDB is a document database that speaks the MongoDB 8.0 wire protocol and supports Git-style version control (commit, branch, merge, diff) over your collections. It's built on the Dolt storage engine.

Connect to DumboDB with any MongoDB driver or mongosh:

mongosh mongodb://localhost:27017

DumboDB is pre-1.0 software and not yet ready for production use.

As in MongoDB, access control is off unless you start the server with --auth. Without it, every connection has full access, so run unauthenticated instances only in trusted environments and do not expose them to untrusted networks.

How to use this image

Running this image with no arguments starts the DumboDB server bound to 0.0.0.0:27017, storing data in /var/lib/dumbodb:

docker run -p 27017:27017 dolthub/dumbodb:latest

To persist data on the host, mount a volume to /var/lib/dumbodb:

docker run -p 27017:27017 \
  -v /path/on/host:/var/lib/dumbodb \
  dolthub/dumbodb:latest

To override flags (e.g. enable auto-commit, change log level), pass them after the image name:

docker run -p 27017:27017 dolthub/dumbodb:latest \
  --data-dir /var/lib/dumbodb \
  --addr 0.0.0.0:27017 \
  --auto-commit \
  --log-level debug

Run --help to see all supported flags:

docker run --rm dolthub/dumbodb:latest --help

Building the image

The Dockerfile supports three modes via the DUMBODB_VERSION build arg:

Build a specific released version
docker build -f docker/Dockerfile --build-arg DUMBODB_VERSION=0.1.0 \
  -t dumbodb:0.1.0 .
Build the latest released version
docker build -f docker/Dockerfile --build-arg DUMBODB_VERSION=latest \
  -t dumbodb:latest .
Build from local source

The build context must contain a dumbodb/ directory with the source tree. From a parent directory containing dumbodb/:

docker build -f dumbodb/docker/Dockerfile --build-arg DUMBODB_VERSION=source \
  -t dumbodb:source .

Warning When building from source, no other directories in the build context may have names starting with dumbodb — the Dockerfile uses a wildcard (dumbodb*/) to conditionally copy the source tree, and additional matches will break the build.

Persisting data

DumboDB stores all data under the directory passed to --data-dir. In this image that's /var/lib/dumbodb, declared as a VOLUME. Mount a host directory or a named volume to keep data across container restarts:

docker volume create dumbodb-data
docker run -p 27017:27017 -v dumbodb-data:/var/lib/dumbodb dolthub/dumbodb:latest

Version control commands

DumboDB exposes Git-style operations as MongoDB runCommand calls (dumboCommit, dumboBranch, dumboMerge, dumboLog, etc.). See the Command Reference for the full list and the project README for examples.

Tag summary

Content type

Image

Digest

sha256:9f051a78a

Size

150.6 MB

Last updated

13 days ago

docker pull dolthub/dumbodb