Skip to content
IOTA IRI dockerfiles for the rock64 SBC
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Since IRI 1.6.1 got a lot of improvements in memory management I felt it was a good time to get my rock64 out of the shelf again. IRI runs perfectly fine with 2GB of RAM these days so running it on the rock64 got a lot easier (without swap-file, hickups and so on). This repository is supposed to be a short tutorial and handful of useful scripts to get IRI running on your rock64 in minutes.

basic setup

The following steps require your rock64 to have the latest ayufan-containers-release ( installed and an external USB SSD formatted with ext4 filesystem.

  1. connect and mount external USB SSD

    1.1 add yourself to docker group, update system and restart

     sudo adduser ${USER} docker && sudo apt-get update && sudo apt-get upgrade -y && sudo reboot

    1.2 create mount folder

     sudo mkdir -p /mnt/usb

    1.3 find the UUID of your external drive (look for /dev/sda)

     sudo blkid

    1.4 add the following line to /etc/fstab (edit with sudo nano /etc/fstab)

     UUID=yourUUIDhere /mnt/usb ext4 defaults,discard 0 2

    1.5 mount the drive

     sudo mount -a
  2. clone this repository and set file permissions

     cd /mnt/usb && git clone && cd ./rock64iri && chmod +x *.sh && sudo ./
  3. find neighbors in iota discord and edit neighbors-line in iota.ini config file (edit with nano ./data/iota.ini)

     NEIGHBORS = udp://neighbor1:port tcp://neighbor2:port udp://neighbor3:port tcp://neighbor4:port
  4. initialize docker container

  5. download snapshotted database

  6. Forward the following ports from your router to your rock64:

     Port/Type and usage
     14265/tcp | IOTA/IRI API port
     14600/udp | IOTA/IRI UDP neighbor connection port
     15600/tcp | IOTA/IRI TCP neighbor connection port

additional information

  1. Use ./ ./ or ./ to stop/start/restart the IRI container

  2. Do not use docker stop or docker restart since this can break your IRI database!

  3. ./ can be used to check the log of IRI (exit with CTRL+C)

  4. ./ can be used to check the local node information

  5. If you notice lags or high latency on your network connection there might be an issue with the network driver in the ayufan image. This is a bug which can lead to high temperatures on the ethernet-chip and thus cause packetloss on your connection. To prevent this you can throttle the network connection to 100mbit/s which will prevent overheating but not affect the IRI performance. Also I´d suggest to restart your rock regularly to prevent hickups. To do this run

    sudo crontab -e

    and add the following lines:

    0 */12 * * * /sbin/reboot >/dev/null 2>&1

    @reboot /sbin/ethtool -s eth0 speed 100 duplex full

    restart your rock and you are good to go. The first line will reboot your rock every 12 hours, the second line will throttle your network connection to 100mbit/s after the restart.

If you need assistance feel free to ask in the iota discord #help channel or write a discord PM to Ben.#0981


You can find the built image on hub.docker here:

If you want to build the image yourself simply use docker build -t <yourowntag> .


Thanks a lot to muXxer and perfectstorm85 for the IRI/Docker/Rock64 work they did before. Made it a lot easier for me and I was able to copy/paste a lot of stuff :)

You can’t perform that action at this time.