We are a team of individuals from the IOTA community with a vision to create a DNS server for the IOTA/Shimmer ecosystem, aiming to enhance user experience. Here, "DNS" stands for "Dynamic Node Selection." Our objective is to move away from static node usage in wallets towards dynamic selection based on the situation. The era of static nodes within the IOTA/Shimmer ecosystem is coming to an end. Envision never having to worry about the operational status of nodes. Picture IoT devices autonomously selecting nodes tailored to their specific needs; this could be based on factors such as proof of work, event support, trustworthiness, or available access speed. We prioritize direct data traffic between the wallet and the node itself, bypassing the node pool.
The DLT.GREEN Node-Installer-Docker provides an easy-to-use script that streamlines the setup of IOTA/Shimmer Nodes (Hornet, Wasp). With Docker running behind the scenes, our installation process is designed to be user-friendly, catering to both novices and seasoned users interested in deploying IOTA/Shimmer nodes on a server or virtual private server (VPS).
- RAM: 8 GB minimum
- CPU Cores: 4
- Storage: 160 GB SSD minimum
- Operating System: Ubuntu 22.04.04 LTS (Jammy Jellyfish) or Debian 12 (Bookworm)
- RAM: 16 GB minimum
- CPU Cores: 6+
- Storage: 250 GB SSD minimum
- Operating System: Ubuntu 22.04.04 LTS (Jammy Jellyfish) or Debian 12 (Bookworm)
- RAM: 16 GB minimum
- CPU Cores: 6+
- Storage: 500 GB SSD minimum with pruning | 1 TB SSD minimum for full database
- Operating System: Ubuntu 22.04.04 LTS (Jammy Jellyfish) or Debian 12 (Bookworm)
Before commencing with the installation:
- Ensure you have access to a server or VPS.
- Secure your own domain name. Note: SSL certificates will be generated via Let's Encrypt automatically, but you can also use your own certificate.
Execute the following command in your console:
sudo wget https://github.com/dlt-green/node-installer-docker/releases/latest/download/node-installer.sh && sudo sh node-installer.sh
After running the installer for the first time, it creates an alias accessible at the user level:
dlt.green
To run the Node-Installer in unattended mode, use the following syntax with optional flags:
dlt.green [-m mode/optional] [-t time/optional] [-r reboot/optional] [-c checks/optional] [-l logs/optional]
Each flag represents a different configuration option:
mode
: Sets the operation mode of the installer.s
: Start all Nodes.0
: Maintenance – Performs system updates, Docker cleanup, and certificate update. Installs Docker if not present.1
: Update – Updates IOTA-Hornet nodes.2
: Update – Updates IOTA-Wasp nodes.5
: Update – Updates Shimmer-Hornet nodes.6
: Update – Updates Shimmer-Wasp nodes.u
: Executes Mode 0 and performs unattended recursive Node Updates when possible. Supports the last 10 releases in the GitHub pipeline (older versions are not updated).d
: Debugging with output to CLI
time
: Sets the delay in seconds before executing an action (0-20 seconds, default: 10).reboot
:0
: No reboot after operations.1
: Executes a system reboot (only if necessary) with automatic node shutdown prior to it (default: 0).
checks
:0
: Disables checks (not recommended).1
: Enforces UFW Firewall and Autostart setup (default: 1).
logs
:i
: Displays all logs.w
: Shows only warnings and errors in logs.e
: Shows only errors in logs (default: i).
Utilize these options according to your needs to automate node management tasks efficiently.
There is an option to automate automatic system relevant updates, during which the nodes are terminated in the meantime. In addition, the nodes themselves can also be updated automatically. The installer's Github pipeline is used chronologically for the updates. In exceptional cases, manual intervention must be carried out, but you will be notified via a notification service if activated. If necessary, the server will be automatically restarted and the nodes are then also automatically restarted.
If errors occur in the database during node startup, the databases are reset according to the settings specified in the env configuration file to ensure high availability. If there is a shortage of storage space, an actual snapshot of the EVM is always loaded and the entire database is deleted beforehand to gain storage space.
Discspace: 0-89%: good | 90-96%: warning | >96%: critical | >97%: automatic EVM DB reset
There is an option to receive status reports from automated processes of your nodes. You do not have to register or reveal any of your personal data. These notifications are delivered directly to your mobile or desktop device using our in-house push notification service. To receive notifications on your phone, install the app, either via Google Play, F-Droid or Apple. Once installed, open it and add the shown Message Channel ID in the installer (Notify-Me) to a topic. In the settings of each topic you can define also your own description.
The notification level can be set in the installation menu [ info | warn | err! ]. In addition, depending on the notification level, messages are sent with different priorities. This means that information is sent and a log is available, but it is not disruptive due to the frequency. Warnings and errors then immediately raise an alarm with pushes. If necessary, the sleep mode on the cell phone can also be interrupted in the event of errors.
Hint: In the Android app there are at the moment a lot more additional features such as renaming channels and various notification settings.
For a visual aid on installing IOTA/Shimmer Nodes using our script, visit our video tutorials.
Encounter an issue or have suggestions? Please create a Github issue or reach out to our team on Discord.
Improvement Suggestions: Github Issues
Contact Us: Discord
Use of this script is at your own risk. DLT.GREEN assumes no responsibility for any damages incurred.
This is an independent installer not endorsed by the Iota Foundation; thus, IF support will not be available. However, our team and community offer support through our Discord.