How to Install Dolt on Linux, macOS, and Windows: 5 Methods Explained
Run curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | sudo bash on Linux or macOS, or brew install dolt for macOS, to install the single ~103 MiB binary and verify with dolt version.
Dolt is a version-controlled SQL database that combines Git-like branching with MySQL-compatible queries. If you want to install Dolt on your machine, the dolthub/dolt repository provides multiple distribution methods ranging from one-line scripts to package managers and Docker images. Every installation method ultimately deploys the same single binary, ensuring consistent behavior across platforms.
Official Install Script (Linux and macOS)
The official install script provides the fastest way to install Dolt on Linux and macOS. Located at go/utils/publishrelease/install.sh in the repository, this script detects your operating system and CPU architecture, downloads the appropriate release tarball, and installs the binary to /usr/local/bin.
The script performs the following steps:
- Sanity checks – Verifies the OS is
LinuxorDarwinand the CPU isx86_64orarm64. - Platform selection – Constructs the platform tuple (e.g.,
linux-amd64,darwin-arm64). - Download – Fetches the tarball from
https://github.com/dolthub/dolt/releases/download/v$VERSION/dolt-$PLATFORM_TUPLE.tar.gz. - Installation – Extracts the
doltbinary to/usr/local/binand license files to/usr/local/share/doc/dolt.
To run the install script:
curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | sudo bash
Note: The script requires
sudobecause it writes to/usr/local/bin. If you prefer not to usesudo, download the tarball manually from the releases page and place the binary in a directory on your$PATH.
Package Managers
For users who prefer native package management, Dolt is available through several popular package managers.
Homebrew (macOS)
Homebrew provides a pre-built bottle for macOS users. The formula downloads the same release tarball used by the install script and places the binary in your Homebrew prefix.
brew update
brew install dolt
dolt version
Arch Linux
Arch Linux users can install Dolt directly from the official repositories using pacman.
sudo pacman -Sy dolt
dolt version
Windows (Chocolatey and MSI)
Windows developers have two primary options:
Chocolatey (command-line package manager):
choco install dolt -y
dolt version
MSI Installer: Download the .msi file from the GitHub releases page for a traditional Windows installation wizard.
Docker Images
Docker provides an isolated environment for running Dolt without installing it directly on your host system. The dolthub/dolt repository maintains two official images:
dolthub/dolt– Contains thedoltCLI binary.dolthub/dolt-sql-server– Runs a MySQL-compatible SQL server.
The Dockerfiles (docker/Dockerfile and docker/serverDockerfile) copy the pre-built binary into a minimal container image, following the same release tarball approach used by the install script.
Pull and run the CLI image:
docker pull dolthub/dolt
docker run --rm dolthub/dolt version
For the SQL server:
docker run -p 3306:3306 dolthub/dolt-sql-server
Build from Source
If you need a custom build or are contributing to the project, you can compile Dolt from source. This requires Go version 1.22 or later and a working C compiler (for cgo).
The main entry point for the CLI is located at go/cmd/dolt/dolt.go. Compiling this package produces the dolt binary.
Clone the repository and install:
git clone https://github.com/dolthub/dolt.git
cd dolt/go
go install ./cmd/dolt
The binary is placed in $GOPATH/bin (or $HOME/go/bin if $GOPATH is unset). Verify the build:
$HOME/go/bin/dolt version
Verify Your Installation
Regardless of the installation method, confirm that Dolt is correctly installed and accessible from your terminal:
dolt version
This command prints the installed version (e.g., dolt version 1.79.1) and confirms the binary is in your $PATH.
Summary
- Dolt is distributed as a single ~103 MiB binary that works identically across all installation methods.
- The official install script (
go/utils/publishrelease/install.sh) provides the fastest setup for Linux and macOS by auto-detecting your platform and installing to/usr/local/bin. - Package managers (Homebrew, pacman, Chocolatey) offer native installation experiences for macOS, Arch Linux, and Windows.
- Docker images (
dolthub/doltanddolthub/dolt-sql-server) provide isolated environments without host installation. - Building from source requires Go 1.22+ and compiles the entry point at
go/cmd/dolt/dolt.go.
Frequently Asked Questions
Can I install Dolt without sudo or administrator privileges?
Yes. If you cannot use sudo with the official install script, download the appropriate tarball manually from the GitHub releases page, extract the dolt binary, and place it in any directory that is on your $PATH (e.g., $HOME/bin or $HOME/.local/bin). For Windows, you can extract the binary to a user-writable folder and add that folder to your system PATH environment variable.
What are the system requirements for building Dolt from source?
Building Dolt from source requires Go version 1.22 or later and a working C compiler (cgo is used for some dependencies). The compilation process targets the go/cmd/dolt/dolt.go entry point. After running go install ./cmd/dolt, the binary appears in $GOPATH/bin (defaulting to $HOME/go/bin if $GOPATH is unset). This method is ideal for contributors or users on non-standard architectures not covered by the pre-built releases.
How do I run Dolt as a MySQL-compatible server using Docker?
To run Dolt in server mode without installing it locally, use the dolthub/dolt-sql-server Docker image. This image exposes a MySQL-compatible server on port 3306. Run the following command to start the server:
docker run -p 3306:3306 dolthub/dolt-sql-server
You can then connect using any MySQL client (e.g., mysql -h 127.0.0.1 -P 3306 -u root). For CLI-only operations, use the dolthub/dolt image instead.
Is the Dolt binary the same across all installation methods?
Yes. Whether you install Dolt via the official script, Homebrew, Docker, or by building from source, you receive the same single binary (approximately 103 MiB). The official install script at go/utils/publishrelease/install.sh and the Dockerfiles in docker/Dockerfile all pull from the same release tarballs published on GitHub. This ensures identical behavior for the dolt CLI and dolt sql-server regardless of how you obtained the software.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →