Docker
docker run --rm -p 127.0.0.1:7475:7475 -p 127.0.0.1:7687:7687 ghcr.io/janvencl/graphbuff --demo movies
curl -s http://127.0.0.1:7475/query -H 'Content-Type: application/json' -d '{"query": "MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name, m.title"}'
The image ghcr.io/janvencl/graphbuff (tags: latest and each version, such as 0.1.0;
linux/amd64 and linux/arm64) runs graphbuff-server --bind 0.0.0.0:7475 --bolt 0.0.0.0:7687
as an unprivileged user; anything after the image name is added to that command line.
--demo movies loads the graph of examples/movies.cypher, which
is compiled into the binary, into the default database (unless it already holds data).
Inside the container the server has to listen on every interface, so it warns that it has
no --token. Who can reach it is decided by -p: -p 127.0.0.1:7475:7475 publishes the
port to this machine only, which is what makes the command above safe. To publish it to
other machines (-p 7475:7475), set a token or user accounts:
docker run --rm -p 7475:7475 -p 7687:7687 -e GRAPHBUFF_TOKEN=s3cret ghcr.io/janvencl/graphbuff
Data lives in memory unless --data is given; /data is a volume for it:
docker run -d --name graphbuff -p 127.0.0.1:7475:7475 -p 127.0.0.1:7687:7687 -v graphbuff-data:/data ghcr.io/janvencl/graphbuff --data /data
docker exec -it graphbuff graphbuff --help # the shell binary is in the image too
Build the image yourself with docker build -t graphbuff ..
Prebuilt binaries
Each release carries one archive per
platform, with graphbuff (shell) and graphbuff-server inside a folder
graphbuff-VERSION-PLATFORM/:
| Platform | Archive |
|---|---|
| Linux x86-64 (static, any distribution) | graphbuff-linux-x86_64.tar.gz |
| macOS Apple silicon | graphbuff-macos-arm64.tar.gz |
| macOS Intel | graphbuff-macos-x86_64.tar.gz |
| Windows x86-64 | graphbuff-windows-x86_64.zip |
and SHA256SUMS with the checksums of all four. The file names carry no version, so
https://github.com/JanVencl/graphbuff/releases/latest/download/graphbuff-linux-x86_64.tar.gz
always points at the newest release (a specific one: .../releases/download/v0.1.0/...).
curl -LO https://github.com/JanVencl/graphbuff/releases/latest/download/graphbuff-linux-x86_64.tar.gz
tar -xzf graphbuff-linux-x86_64.tar.gz
./graphbuff-*/graphbuff-server --demo movies # http://127.0.0.1:7475
The binaries are plain builds: no gpu and no tls feature. Releases are cut by pushing a
tag vX.Y.Z that matches the workspace version (release.yml).
Try it on your machine: one command starts the server with the movies graph. Needs Docker.
$ docker run --rm -p 127.0.0.1:7475:7475 -p 127.0.0.1:7687:7687 ghcr.io/janvencl/graphbuff --demo moviesThen follow Getting started.