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.
Component | Version | Required to: | Linux | macOS | Windows |
---|---|---|---|---|---|
Latest | Clone the TerminusDB bootstrap and run the container script. | ✔ | ✔ | ✔ | |
Latest | Windows users should use the application "Git Bash" for all terminal commands described below, this application comes with Git for Windows. | | | ✔ | |
Latest | Access security (optional). | ✔ | ✔ | | |
Latest | 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: https://www.docker.com/products/container-runtime
Install and run the TerminusDB container with the following steps.
clone
the terminusdb-bootstrap
repository and cd
to it.git clone https://github.com/terminusdb/terminusdb-bootstrap
cd terminusdb-bootstrap
Run the container using
terminusdb-container
script.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 http://127.0.0.1:6363/
. This is the TerminusDB Server and Console URL.- 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
Open the TerminusDB console in a web browser using the URL.
http://127.0.0.1:6363/dashboard
Run container script without a parameter to list the available commands.
./terminusdb-container
The available commands are listed as follows.
USAGE:
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
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:
localhost:6363/dashboard/
TerminusDB hosts a GraphQL endpoint at:
SERVERNAME/api/graphql/ORG/DATAPRODUCT
For instance, with a data product named
admin/people
, and a locally installed TerminusDB, you can query it at:http://127.0.0.1:6363/api/graphql/admin/people
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:
http://127.0.0.1:6363/api/graphiql/admin/people
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=="
}
The container script uses a set of environment variables with default values. You can configure the environment by setting these variables.
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
toENV
:cp ENV.example ENV
- Edit
ENV
to uncomment and set environment variable/s:vi ENV
- Run the container as usual:
./terminusdb-container run
A description of some of the environment variables in
ENV.example
and their defaults.Environment variable name | Default value | Description |
---|---|---|
TERMINUSDB_DOCKER | sudo docker | Default docker command |
TERMINUSDB_CONTAINER | terminusdb-server | Name of the running container |
TERMINUSDB_REPOSITORY | terminusdb/terminusdb-server | TerminusDB docker image |
TERMINUSDB_NETWORK | bridge | Docker network mode |
TERMINUSDB_TAG | latest | The latest version of the terminusdb-server docker image |
TERMINUSDB_STORAGE | terminusdb_storage_local | Storage volume name |
TERMINUSDB_PORT | 6363 | The port used for TerminusDB |
TERMINUSDB_LOCAL | your-folder-name | Local folder to mount inside container |
TERMINUSDB_SERVER | 127.0.0.1 | Server on which TerminusDB runs |
TERMINUSDB_PASS | root | Password for accessing TerminusDB |
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.TERMINUSDB_LOCAL=/path/to/dir ./terminusdb-container [COMMAND]
TERMINUSDB_STORAGE=terminus_storage_local ./terminusdb-container [COMMAND]
TERMINUSDB_TAG=latest ./terminusdb-container [COMMAND]
TERMINUSDB_TAG=dev ./terminusdb-container [COMMAND]
TERMINUSDB_TAG=v1.1.2 ./terminusdb-container [COMMAND]
TERMINUSDB_CONSOLE_BASE_URL=//127.0.0.1:3005 ./terminusdb-container [COMMAND]
TERMINUSDB_DOCKER=docker ./terminusdb-container [COMMAND]
TERMINUSDB_DOCKER="podman" ./terminusdb-container [COMMAND]
The TerminusDB server is deployed to your computer by default.
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.To deploy the TerminusDB server to a remote machine:
- Enable HTTPS with a remote proxy like Nginx
Run the container script with the
run
parameter as usual../terminusdb-container run
Last modified 3mo ago