This repository contains a Dockerfile
with everything needed to
build TerminusDB from source:
- core system packages
- SWI-Prolog
- Rust
The Dockerfile
provides a way for you to experiment with changes to TerminusDB
without requiring you to install all the libraries and tools needed to build it.
First, check out the TerminusDB repository:
git clone https://github.com/terminusdb/terminusdb.git terminusdb
cd terminusdb
You can either build the TerminusDB executable or use TerminusDB interactively with the SWI-Prolog interpreter.
Build TerminusDB and create an image for it:
docker run \
--name terminusdb \
--rm \
--volume $(pwd):/app/terminusdb ghcr.io/terminusdb/terminusdb-builder:latest \
bash -c 'make install-deps && make'
docker commit terminusdb termnusdb/terminusdb-server:local
Initialize the store:
docker run --rm termnusdb/terminusdb-server:local ./terminusdb store init
Run the server:
docker run --rm termnusdb/terminusdb-server:local ./terminusdb serve
Run the SWI-Prolog REPL:
docker run \
--rm \
-it \
--volume $(pwd):/app/terminusdb \
ghcr.io/terminusdb/terminusdb-builder:latest \
bash -c 'make install-deps && make i'
At the REPL prompt, you can, among other things, run the server:
?- terminus_server([], false).
We use a simple incrementing number for a version tag. The latest version of
terminusdb-builder
should always build the latest terminusdb
.