Install TerminusDB as a 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 and run the TerminusDB container with the following steps.
terminusdb repository and
cd to it.
git clone https://github.com/terminusdb/terminusdb
Run the container
Run the container using
Running for the first time
First, set up a
.env in the cloned directory with the following contents:
OPENAI_KEY=YOUR_OPENAI_KEY_HERE # And optionally specify number of pages for the vector database # for instance BUFFER_AMOUNT=120000
The OPENAI_KEY is not mandatory to use, but without it, the AI indexing will not work. Of course, all the document graph database functionality will still work as intended.
Run the container with the command
docker compose up. See Environment configuration for further configuration options.
docker compose up
This generates the message:
terminusdb-server container started http://127.0.0.1:6363/. This is the TerminusDB Server and Console URL.
- Remove previous volumes. Enter
yto confirm removal when prompted.
- Rerun the container.
Warning: Removing previous volumes will erase local data.
docker compose rm docker compose run
Use the console
Open the TerminusDB console in a web browser using the URL.
Use the Dashboard
The TerminusDB local dashboard is included within TerminusDB. The dashboard is a UI to create and manage data products, model data, and test queries. To use the dashboard visit:
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:
The container uses a set of environment variables with default values. You can configure the environment by setting these variables.
You can set additional ENV variables or override already set ones by creating a
Migrating from terminusdb-bootstrap
In order to migrate from the default terminusdb-bootstrap installation while stil keeping the data of your previous installation, run the docker compose commands the following way:
docker compose -f docker-compose.yml -f distribution/docker-compose/bootstrap_storage.yaml
For instance, for the
up command to start the server, run:
docker compose -f docker-compose.yml -f distribution/docker-compose/bootstrap_storage.yaml up
Using the CLI
To access the TerminusDB CLI from the Docker Compose, run:
docker compose run terminusdb-server ./terminusdb
exec when you have the service already running
The TerminusDB server is deployed to your computer by default.
Local computer deployment
By default, the Docker container binds to IP
127.0.0.1. 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:
- Enable HTTPS with a remote proxy like Nginx
- Don't use the
X-Forward-HeaderENV variables unless you really know what you are doing