Table of contents
- Docker Usage Commands
- Control GoShimmer
Tested on the following operating systems:
- CentOS 7.x
- Ubuntu 16/18.04LTS
- Debian 9.5 and 10
- Raspbian 9.9 and 10 (Tested with Raspberry Pi 4 - 4GB RAM)
- RAM: At least 1.5GB RAM, as less than this can result in out-of-memory failures.
- x2 CPUs are recommended
Run (as root):
bash <(curl -s https://raw.githubusercontent.com/nuriel77/goshimmer-playbook/master/goshimmer_install.sh)
This pulls the installation file from the root of this repository and executes it.
The installation will:
- Install latest GoShimmer and start it up.
- Configure basic security (firewalls) and open all required ports for GoShimmer to operate.
- Install nginx as a reverse proxy to access GoShimmer's Dashboard, spammer, etc.
- Add some helpful tools, e.g.:
Docker Usage Commands
These are just a few helpful commands to help you find your way around docker:
List all images
The output will look something like:
REPOSITORY TAG IMAGE ID CREATED SIZE iotaledger/goshimmer 588e0ff 506e4a44db0d 2 days ago 23MB iotaledger/goshimmer af1fee9 ffef5d662ba0 6 days ago 23MB nginx latest e445ab08b2be 2 weeks ago 126MB golang 1.12-alpine 6b21b4c6e7a3 4 weeks ago 350MB alpine latest b7b28af77ffe 4 weeks ago 5.58MB
Note that an image consists of a "REPOSITORY" name and a "TAG". Above we have 2
iotaledger/goshimmer images. The older can be deleted if no longer in use.
Delete a certain image (or example an older version of goshimmer you don't use anymore):
docker rmi iotaledger/goshimmer:af1fee9
View Docker Containers
View all docker containers:
docker ps -a
GoShimmer Help Output
Run goshimmer with
--help: given that we know the image name and the tag. A quick way to get the tag variable configured:
docker run --rm -it iotaledger/goshimmer:9fda4b8 --help
You can get the tag by viewing all images, or check the configuration file to see what is the currently used TAG:
grep ^TAG /etc/sysconfig/goshimmer
grep ^TAG /etc/default/goshimmer
In the file below we can specify the image and tag to use. In addition we can configure which command line arguments to pass to goshimmer:
Goshimmer app start:
systemctl start goshimmer
You can also replace
GoShimmer logs follow:
journalctl -u goshimmer -e -f
A GUI utility has been added to help manage some basics like controlling the server, viewing logs, upgrading goshimmer etc.
Make sure you are root (
sudo su) and run:
The database is located in
Since August 3rd 2019 nginx has been added to serve as a reverse proxy for some of goshimmer's common services.
Spammer is accessible via the web-browser on port 18080, e.g.:
https://your-ip:18080/spammer. Note that you'll have to append a command to the URL, e.g:
cmd=start or stop... See Spam Test below.
Dashboard is accessible via the web-browser on port 18081, e.g.:
NOTE You can safely ignore the browser's warning about the certificate, as a self-signed one has been generated during the installation.
No need to open ports, forward ports etc, no need for browser. You can run on the commandline:
You can add the parameter "tps=" to specify how many TPS to spam with, for example:
See the statusscreen
Since Saturday, July 27 a new script has been added to help run goshimmer with the status screen. If you already have the playbook installed, don't worry, you can run the initial installation command to get the script ready!
To activate the screen run:
Use CTRL-c to exit.
If you want to leave the server running with this screen you need to run it within what is called a
Please refer to this article on how to use
screen (you might need to install it): https://linuxize.com/post/how-to-use-linux-screen/
Update the run-screen script or gosc
To update any scripts provided by this playbook simply use
gosc and select to update gosc and scripts option from the menu.
Install Alongside IRI-Playbook
It is possible to run this installation on an IRI-playbook node. You must have enough RAM and CPU power to accommodate both.
A few notes:
- This has only been tested in the case where you already have a Dockerized IRI-playbook node and run this installer afterwards.
- GoShimmer-playbook re-uses IRI's HTTPS configuration (SSL certificate)
- You will also be able to access the web services using the user you have configured for IRI
If you liked this playbook, and would like to leave a donation you can use this IOTA address: