Create a local GoShimmer network leveraging Docker Compose with optional addons using Docker Compose profiles. There are several ways to configure this according to your needs as outlined below.
These services that are created by default with docker-compose up -d
.
A node that is used to expose ports via the host and to have a single attachment point for monitoring tools.
- MONGO_DB_ENABLED: Determines if the analysis tools should use a MongoDB instance for storing analysis data. Defaults to
false
. Required if using--profile grafana
. - MESSAGE_SNAPSHOT_FILE: The full path to the message snapshot file. Defaults to
./goshimmer/assets/7R1itJx5hVuo9w9hjg5cwKFmek4HMSoBDgJZN8hKGxih.bin
- GOSHIMMER_TAG: (Optional) The iotaledger/goshimmer tag to use. Defaults to
develop
.
You can set the environment variable configuration inline as seen in this example.
GOSHIMMER_TAG=develop docker-compose up -d
The following ports are exposed on the host to allow for interacting with the Tangle.
Port | Service |
---|---|
8080/tcp | Web API |
9000/tcp | Analysis dashboard |
A node that can be replicated to add more nodes to your local tangle.
- MESSAGE_SNAPSHOT_FILE: The full path to the message snapshot file. Defaults to
./goshimmer/assets/7R1itJx5hVuo9w9hjg5cwKFmek4HMSoBDgJZN8hKGxih.bin
- GOSHIMMER_TAG: (Optional) The iotaledger/goshimmer tag to use. Defaults to
develop
.
You can set the environment variable configuration inline as seen in this example.
GOSHIMMER_TAG=develop docker-compose up -d
These expose 0 ports because they are replicas and the host system cannot map a port to multiple containers.
A node that can dispense tokens.
- MESSAGE_SNAPSHOT_FILE: The full path to the message snapshot file. Defaults to
./goshimmer/assets/7R1itJx5hVuo9w9hjg5cwKFmek4HMSoBDgJZN8hKGxih.bin
- GOSHIMMER_TAG: (Optional) The iotaledger/goshimmer tag to use. Defaults to
develop
.
You can set the environment variable configuration inline as seen in this example.
GOSHIMMER_TAG=develop docker-compose up -d
The following ports are exposed on the host to allow for interacting with the Tangle.
Port | Service |
---|---|
8081/tcp | Dashboard |
These services can be added to your deployment through --profile
flags and can be configured with ENVIRONMENT_VARIABLES
.
A set of containers to enable dashboards and monitoring.
In order to enable these containers you must set the --profile grafana
flag when running docker-compose
.
- MONGO_DB_ENABLED: (REQUIRED) Determines if the analysis tools should use a MongoDB instance for storing analysis data and configures the
peer_master
to use MongoDB for analysis storage. Defaults tofalse
.
You can set the environment variable configuration inline as seen in this example.
MONGO_DB_ENABLED=true docker-compose --profile grafana up -d
The following ports are exposed on the host to allow for interacting with the Tangle.
Port | Service |
---|---|
3000/tcp | Grafana |
9090/tcp | Prometheus |
Distributed randomness beacon. Verifiable, unpredictable and unbiased random numbers as a service.
In order to enable these containers you must set the --profile drng
flag when running docker-compose
.
- DRNG_REPLICAS: (Optional) How many nodes to create in addition to the DRNG leader. Defaults to 2.
You can set the environment variable configuration inline as seen in this example.
docker-compose --profile drng up -d
The following ports are exposed on the host to allow for interacting with the Tangle.
Port | Service |
---|---|
8000/tcp | Drand Control |
8800/tcp | GoShimmer API |