Launching PuppyGraph in Docker
Summary
In this tutorial, you will:
- Launch a PuppyGraph Docker container;
- Explore an example graph using PuppyGraph Web UI.
Prerequisites
Docker Installation
Please ensure that docker
is available. The installation can be verified by running:
See https://www.docker.com/get-started/ for more details on Docker.
Make sure the container architecture aligns with the host system
PuppyGraph provides docker images for both amd64
and arm64
architecture. By default docker pulls the image based on host machine's architecture.
However, environment variables like DOCKER_DEFAULT_PLATFORM
could override its default behavior.
If there is a mismatch, you will see warnings as follows when running PuppyGraph in Docker:
Hardware
The host machine needs to have minimum 10 GB of available disk space.
It is recommended to have at least 8GB RAM for the Docker container.
Start a PuppyGraph Container
Run the command below to start a PuppyGraph Docker container. This command will also download the PuppyGraph image if it hasn't been downloaded previously.
docker run -p 8081:8081 -p 8182:8182 -p 7687:7687 -e PUPPYGRAPH_PASSWORD=puppygraph123 -d --name puppy --rm --pull=always puppygraph/puppygraph:stable
Here's a breakdown of the command:
docker run
: This command creates and starts a new container.-p 8081:8081
: Maps port8081
of the container to port8081
on the host machine. This is the port for the PuppyGraph Web UI.-p 8182:8182
: Maps port8182
of the container to port8182
on the host machine. This is the port for the Gremlin server.-p 7687:7687
: Maps port7687
of the container to port7687
on the host machine. This is the port for openCypher queries over Bolt.-e PUPPYGRAPH_PASSWORD=puppygraph123
: Sets the environment variablePUPPYGRAPH_PASSWORD
topuppygraph123
. This sets password for the PuppyGraph Web UI. It is recommended to change this password to a more secure one in a production environment.-d
: Runs the container in detached mode (in the background).--name puppy
: Names the containerpuppy
.--rm
: Automatically removes the container when it exits. If you want to keep the container after it stops, you can remove this option.--pull=always
: Always pull the latest image from the Docker registry. This is recommended when you want to use the latest stable version of PuppyGraph.puppygraph/puppygraph:stable
: Specifies the image to use. In this case, it uses thepuppygraph/puppygraph
image with thestable
tag. If you want to use a specific version, you can replacestable
with the desired version tag.
Access the PuppyGraph
Access the PuppyGraph Web UI at http://localhost:8081.
Sign in to PuppyGraph with the default username (puppygraph
) and the password (puppygraph123
) specified by the configuration PUPPYGRAPH_PASSWORD
.

PuppyGraph Sign-In Page
At times, the PuppyGraph initialization might still be underway, and the Schema
page will display a prompt. Please refresh the page to see if the server is ready.

PuppyGraph Server Pending Page
Once the server is ready, the schema page will appear as follows.

PuppyGraph Schema Welcome Page
Explore the Example Graph
In this tutorial, we'll be utilizing the demo data supplied by PuppyGraph. Click on Use example schema/data
, and the UI will show that loading is underway.

PuppyGraph Schema Loading in Progress
Once the schema is loaded, the page visualizes the schema of the graph.

PuppyGraph Schema Loaded
PuppyGraph features a dashboard, enabling you to quickly access essential information from the graph right away.
The default tiles on the dashboard count the total number of nodes / edges and also display the sample data from the graph.

PuppyGraph Dashboard
Cleaning up
To sign out, click on the button located in the top right corner.

Sign Out
Run the following command to stop and clean up the container.