Install as a Docker Container

Everything you need to install and run TerminusDB server as a docker container on your computer or on a remote server


The container script is distributed via GitHub, so you will need Git to clone and update the TerminusDB bootstrap repo. You will also need Docker running.
A list of prerequisite components depending on your operating system. Click on the required component to download it from the provider's website.

Table: Installation requirements

Required to:
Clone the TerminusDB bootstrap and run the container script.
Git Bash
Windows users should use the application "Git Bash" for all terminal commands described below, this application comes with Git for Windows.
Access security (optional).
Use the TerminusDB docker container.
Docker memory allocation on Windows On Windows, the default memory allocated for the Docker is 2GB. TerminusDB is an in-memory database so it is advised to increase the allocation in Docker desktop settings.
Install TerminusDB on Windows with Docker Guide
For a comprehensive guide to installing on Windows, our friends at DFRNT put this blog together - Run TerminusDB on Windows with Docker
Linux package manager On Linux, use your distro's package manager for containerized deployments or find more information here:

Install steps

Install and run the TerminusDB container with the following steps.

Clone the TerminusDB bootstrap

clone the terminusdb-bootstrap repository and cd to it.
git clone
cd terminusdb-bootstrap

Run the container

Run the container using terminusdb-container script.

Running for the first time

Run the container with the parameter run. See Environment configuration for further configuration options.
./terminusdb-container run
This generates the message: terminusdb-server container started This is the TerminusDB Server and Console URL.

Subsequent runs

  • Stop the container if it is running.
  • Remove previous volumes. Enter y to confirm removal when prompted.
  • Rerun the container.
Warning: Removing previous volumes will erase local data.
./terminusdb-container stop
./terminusdb-container rm
./terminusdb-container run

Use the console

Open the TerminusDB console in a web browser using the URL.

Console commands

Run container script without a parameter to list the available commands.
The available commands are listed as follows.
terminusdb-container [COMMAND]
help show usage
run run container
stop stop container
console launch console in web browser
attach attach to prolog shell
exec execute a command inside the container
rm remove volumes

Use the Dashboard

The TerminusDB local dashboard is included within terminusdb-bootstrap. The dashboard is a UI to create and manage data products, model data, and test queries. To use the dashboard visit:

Use GraphQL

TerminusDB hosts a GraphQL endpoint at:
For instance, with a data product named admin/people, and a locally installed TerminusDB, you can query it at:
TerminusDB ships with a GraphiQL graphical GraphQL query interface and schema browser. This is a quick way to get acquainted with GraphQL in TerminusDB.
You can reach this browser at:
You will need to set your Authorization header in the Header dialog box at the bottom center.
For instance, in the default install, as:
"Authorization": "Basic YWRtaW46cm9vdA=="

Environment configuration

The container script uses a set of environment variables with default values. You can configure the environment by setting these variables.

The environment file

The terminusdb-bootstrap directory contains the file ENV.example. This file holds all configurable environment variables. The container script uses the file ENV if it exists in the terminusdb-bootstrap directory.
To run the container script with values specific to your environment:
  • Copy ENV.example to ENV: cp ENV.example ENV
  • Edit ENV to uncomment and set environment variable/s: vi ENV
  • Run the container as usual: ./terminusdb-container run

Environment variables reference

A description of some of the environment variables in ENV.example and their defaults.

Table: Environment variables reference

Environment variable name
Default value
sudo docker
Default docker command
Name of the running container
TerminusDB docker image
Docker network mode
The latest version of the terminusdb-server docker image
Storage volume name
The port used for TerminusDB
Local folder to mount inside container
Server on which TerminusDB runs
Password for accessing TerminusDB

Examples of setting environment variables

Examples of environment variables you can set when running the container script. Replace the [COMMAND] property in the examples below with the parameter you want to use.

Mount a local directory inside the container

TERMINUSDB_LOCAL=/path/to/dir ./terminusdb-container [COMMAND]

Set the Docker Volume name

TERMINUSDB_STORAGE=terminus_storage_local ./terminusdb-container [COMMAND]

Use the latest release

TERMINUSDB_TAG=latest ./terminusdb-container [COMMAND]

Use the development release

TERMINUSDB_TAG=dev ./terminusdb-container [COMMAND]

Use a specific release instead of the latest release

TERMINUSDB_TAG=v1.1.2 ./terminusdb-container [COMMAND]

Use local version of the TerminusDB console instead of the published version

TERMINUSDB_CONSOLE_BASE_URL=// ./terminusdb-container [COMMAND]

Do not use sudo even when sudo is available

TERMINUSDB_DOCKER=docker ./terminusdb-container [COMMAND]

Use podman instead of docker

TERMINUSDB_DOCKER="podman" ./terminusdb-container [COMMAND]

Server deployment

The TerminusDB server is deployed to your computer by default.

Local computer deployment

By default, the Docker container binds to IP This prevents insecure deployments and ensures the TerminusDB server is accessible on a local computer only.

Remote server deployment

To deploy the TerminusDB server to a remote machine:

Run the container

Run the container script with the run parameter as usual.
./terminusdb-container run