IOTA IRI node packaged with docker
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
root
.gitignore
Dockerfile
README.md
iota-iri.iml

README.md

IOTA IRI node

This is IRI (IOTA reference implementation) packed as small docker image.

It's used by my IOTA node pool on iota.rootlogin.ch.

Features

Usage

First you need to find some neighbors for your node. You can do this by joining the #nodesharing-Slack channel. You can join slack on slack.iota.org.

Afterwards you can start the node with:

$ docker run --net=host -d --name iota-node -v iota_data:/opt/iri/data -e "NEIGHBORS=udp://neighbor1:14600 tcp://neighbor1:15600 udp://neighbor3:14600" rootlogin/iota-iri

To rescan the database or revalidate, you can do this:

$ docker run --net=host --rm --name iota-node -v iota_data:/opt/iri/data -e "NEIGHBORS=udp://neighbor1:14600 tcp://neighbor1:15600 udp://neighbor3:14600" rootlogin/iota-iri --rescan
$ docker run --net=host --rm --name iota-node -v iota_data:/opt/iri/data -e "NEIGHBORS=udp://neighbor1:14600 tcp://neighbor1:15600 udp://neighbor3:14600" rootlogin/iota-iri --revalidate

Pre-sync database

If you want to sync your node with the latest tangle database from iota.partners, set the environment variable PRESYNC to 1. This helps to get your node faster fully synced.

Environment variables

You can configure different things with environment variables:

Name Description
NEIGHBORS List of your neighbors (space delimited).
REMOTE_API_LIMIT List of things that are forbidden via api (Default: attachToTangle, addNeighbors, removeNeighbors).
API_PORT Port for API listener (Default: 14265).
UDP_PORT Port for UDP listener (Default: 14600).
TCP_PORT Port for TCP listener (Default: 15600).
PRESYNC If you want presync your database with iota.partners set 1 (Default: 0).
JAVA_OPTIONS Default: "-XX:+DisableAttachMechanism -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"

Run with docker-compose

You can also run IRI with docker-compose. See this example:

version: '2'

services:
  iota-node:
    container_name: iota-node
    restart: always
    image: rootlogin/iota-iri:latest
    mem_limit: 8G
    network_mode: host
    environment:
      - TZ=Europe/Zurich
      - NEIGHBORS=udp://neighbor1:14600 tcp://neighbor1:15600 udp://neighbor3:14600
    volumes:
      - /opt/iri-data:/opt/iri/data