LinuxmacOSWindows

Where Does Dolt Store Databases and Config?

Dolt databases live in a .dolt folder inside each project directory, with global identity config in ~/.dolt at home.

Last updated

Dolt works like Git: the database lives inside the project directory, in a hidden .dolt folder created by dolt init. Move or copy that directory and the whole versioned database travels with it.

Your name and email work the same way too. Per database settings sit in .dolt/config.json, while the global fallback lives in your home folder. Set the global identity once and every new database inherits it.

Where Dolt stores this, by platform

Linux
~/.dolt/config_global.json

Global identity and defaults. Each database adds .dolt/config.json for local overrides plus noms storage and repo_state.json. Server permission data appears as .dolt/.doltcfg once you configure users.

macOS
~/.dolt/config_global.json

Same layout as Linux. Homebrew installs change nothing about where data lands. Keep databases in a dedicated folder like ~/dolt so stray .dolt directories do not surprise you.

Windows
%USERPROFILE%\.dolt\config_global.json

Global config under the user profile. Project databases keep their .dolt folder in the project root. Commits refuse to run until user.name and user.email exist, so set them right after installing.

Frequently asked questions

how do i back up a dolt database

Copy the project directory including its hidden .dolt folder with the server stopped. That folder is the database: noms chunks, config and branch state together.

where is the dolt sql server config

Pass --config=/path/to/config.yaml when starting dolt sql-server for server options. User and permission data lives separately in .dolt/.doltcfg inside the database directory.

why does dolt refuse my first commit

No identity is set. Run dolt config --global --add user.name and user.email once. The values land in ~/.dolt/config_global.json and every database picks them up.

Notice an outdated path? Let us know.