NANO Node Docker
Install a NANO node on your server with a vast variety of tools in a couple on minutes!
|For hosting a NANO node in the BETA network, checkout the "beta" branch.|
This project will build and deploy the following containers on your Docker host:
|nano-node||The NANO node created out of the official NANO Docker Image. RPC is enabled but not publicly exposed. (Renamed to "nano-beta-node" for BETA)|
|nano-node-monitor||The popular NANO Node Monitor PHP application based on NanoTools's Docker image.|
|nano-node-watchdog||A custom lightweight watcher container checking on node's health status every hour. Checking code adapted from dbachm123's nanoNodeScripts.|
|watchtower||A process watching all the other containers and automatically applying any updates to their base image. No need to manually upgrade your node anymore.|
SSL Support with Let's Encrypt
Optionally, if a domain name is available for your host, NANO Node Docker can also serve your monitor securely using HTTPS. If this feature is enabled (using the
-d argument with the installer), the stack will also include the following containers:
|nginx-proxy||An instance of the popular Nginx web server running in a reverse proxy setup. Handles the traffic and serves as a gateway to your host.|
|nginx-proxy-letsencrypt||A lightweight companion container for the nginx-proxy. It allows the creation/renewal of Let's Encrypt certificates automatically.|
Download or clone the latest release, open a bash terminal and fire up the installation script:
$ cd ~ && git clone https://github.com/lephleg/nano-node-docker.git && cd ~/nano-node-docker $ sudo ./setup.sh -s
That's it! You can now navigate to your host IP to check your Nano Node Monitor dashboard. Do not forget to write down your wallet seed as it appears in the output of the installer.
Available command flags/arguments
The following flags are available when running the stack installer:
|-d||your domain name||Sets the domain name to be used. Required for SSL-enabled setups.|
|-e||your email address||Sets your email for Let's Encrypt certificate notifications. Optional for SSL-enabled setups.|
|-f||-||Enables fast-syncing by fetching the latest ledger and placing it into /root/Nano/ inside nano-node container.|
|-q||-||Quiet mode. Hides any output.|
|-s||-||Prints the unecrypted seed of the node wallet during the setup (WARNING: in most cases you may want to avoid this for security purposes).|
|-t||Docker image tag||Indicates the preferred tag for the nanocurrency Docker image. Defaults to "latest". Optional.|
NANO Node CLI bash alias
NANO node runs inside the nano-node container. In order to execute commands from its Command Line Interface you'll have to enter the container or execute them by using the following Docker command:
$ docker exec -it nano-node nano_node <command>
For convinience the following shorthand alias is set by the installer:
$ nano-node <command>
Both of the above formats are interchangeable.
Install with SSL enabled
After your DNS records are setup, fire up the installation script with the domain (-d) argument:
$ sudo ./setup.sh -d mydomain.com -e email@example.com
The email (-e) argument is optional and would used by Let's Encrypt to warn you of impeding certificate expiration.
Done! Navigate to your domain name to check your Nano Node Monitor Dashboard over HTTPS!
Install with fast-syncing
NANO Node Docker stack can also bootstrap any newly created node (or an existing one) with the latest ledger files. This implies that you are willing to trust third-party sources for your node history. The latest ledger files are obtained from the My Nano Ninja link here.
Just add the
-f flag to your installer command:
$ sudo ./setup.sh -f
WARNING: You are strongly adviced to BACKUP your wallet seed before trying to fast-sync an existing node.
Install with a different NANO node image
In some cases (like in the BETA network) you may want to use a different Docker image tag for your node, other than the default "latest":
$ sudo ./setup.sh -t V16.0RC2
Note: For the mainnet, you are strongly advised to stick with the "latest" image tag. Do otherwise, only if instructed by the NANO core team.
Combining installer flags
All the installer flags can be chained, so you can easily combine them like this:
$ sudo ./setup.sh -sfd mydomain.com -e firstname.lastname@example.org
(display seed, apply fast-sync and use Let's Encrypt with your email supplied)
Please check the wiki for more detailed instructions on how to manually self-configure NANO Node Docker.
- NANO Node Monitor
If you really liked this tool, just give this project a star