Install with Docker on Windows

Table of Contents

Graphlytic can be easily installed using our docker image published in the docker registry.

Get Dockerfile and basic structure

As a first step, you need to create a directory structure where the docker image will be built.

Go to the directory where you want to place the application files and run:

git clone https://github.com/demtec/graphlytic-docker.git

If you haven't installed git, you can download the files directly from Github as a zip file using this link: https://github.com/demtec/graphlytic-docker/archive/master.zip

Unzip the file in a dedicated folder and continue with the next steps.

Configure the application using environment variables in the Dockerfile (optional)

Configure Neo4j connection

This is an optional step that can be used when you want to set some of the application configurations prior to running the container. It's used mainly in automated environments. For the list of all configurations that can be set this way please refer to Configuration.

For instance to set the Neo4j connection go to graphlytic-docker directory and edit the Dockerfile file (you can set the connection also later, in the application's Setting section). There are several properties regarding the Neo4j connection. Please change these values according to your Neo4j location:

ENV NEO4J_CONNECTOR_BOLT=bolt://localhost:7687
ENV NEO4J_CONNECTOR_USERNAME=neo4j
ENV NEO4J_CONNECTOR_PASSWORD=neo4j
ENV NEO4J_CONNECTOR_ENCRYPTED=false

If the Neo4j database is running on your machine together with the Graphlytic docker container, try to set NEO4J_CONNECTOR_BOLT to:

  • bolt://172.17.0.1:7687 on Linux

  • bolt://host.docker.internal:7687 on Windows or Mac

Configure custom SSL keystore

Firstly make sure, you have a keystore file containing desired certificate (e.g. ./keystore/graphlytic-keystore.jks).

It is possible to configure ssl context with these environment variables (examples below):

ENV SERVER_SSL_KEYSTORE=/usr/share/graphlytic/keystore/graphlytic-keystore.jks
ENV SERVER_SSL_KEYSTOREPASSWORD=SomePass
ENV SERVER_SSL_KEYSTORETYPE=JKS
ENV SERVER_SSL_TRUSTSTORE=/usr/share/graphlytic/keystore/graphlytic-keystore.jks
ENV SERVER_SSL_TRUSTSTOREPASSWORD=SomePass
ENV SERVER_SSL_TRUSTSTORETYPE=JKS
ENV SERVER_SSL_CLIENTAUTH=none

In order to use a custom keystore, it needs to be mounted in a volume. To achieve this, use docker command -v, for example:

docker run -tid --name graphlytic -v "%cd%"/keystore/:/usr/share/graphlytic/keystore -v "%cd%"/volume/:/usr/share/graphlytic/volume -p 8080:8080 -p 8443:8443 graphlytic

which mounts ./keystore folder into /usr/share/graphlytic/keystore, which contains our graphlytic-keystore.jks, which is mentioned in environment variables above.

Build the docker image

Fetch latest GL vsetion:

docker pull demtec/graphlytic:latest

Build your local image with this command:

docker build -t graphlytic .

Run the docker container

Run in CMD console

docker run -tid --name graphlytic -v "%cd%"/volume/:/usr/share/graphlytic/volume -p 8080:8080 graphlytic

Stop the docker container

docker stop graphlytic

Start the docker container

docker start graphlytic