Skip to main content

Run INX Chronicle using Docker

This guide describes the necessary steps to set up and run Chronicle as an INX plugin of a Hornet node to persist TangleA data structure based on a DAG used to store blocks and their relations. The Tangle is the core underlying data structure of IOTA. data, gather time series analytics using InfluxDB, and display it in meaningful ways using Grafana.

Prerequisites

  1. A recent release of Docker enterprise or community edition. You can find installation instructions in the official Docker documentation.
  2. Docker Compose V2.

Preparation

Create the necessary directories for all Hornet and Chronicle databases:

./docker/create_dirs.sh

Configuration

Configure the docker images via command-line arguments by editing the docker-compose.yml file.

Refer to the Chronicle CLI (run inx-chronicle --help) for details about configuring Chronicle via command-line arguments.

See the Hornet Wiki for details about configuring Hornet.

Environment

Chronicle's docker setup uses several environment variables. These must be configured in order to run the docker compose file as-is. These variables can be defined in a .env file and specified to docker using the --env-file flag.

MONGODB_USERNAME=root
MONGODB_PASSWORD=root
MONGODB_CONN_STR=mongodb://root:root@mongo:27017
INFLUXDB_URL=http://influx:8086
INFLUXDB_USERNAME=admin
INFLUXDB_PASSWORD=password
JWT_PASSWORD=password
JWT_SALT=saltines
docker compose -f docker/docker-compose.yml --env-file .env up

For more information, see the docker docs.

Docker Image Build Variants

Chronicle has two build variants, which can be selected using the corresponding YML override file.

Production

docker compose -f docker/docker-compose.yml -f docker/docker-compose.prod.yml up

Debug

docker compose -f docker/docker-compose.yml up

Analytics and Metrics

To run the images needed to support the Metrics and Analytics dashboards, run docker compose using the metrics profile:

docker compose -f docker/docker-compose.yml --profile metrics up

Access the Grafana dashboard at http://localhost:3000/.