Coder Social home page Coder Social logo

verycutecat / nano-node-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lephleg/nano-node-docker

0.0 0.0 0.0 1.33 MB

Setup a fully automated Nano cryptocurrency node as part of an dockerised stack with fast-syncing and easy SSL support.

Home Page: https://www.nanoskynode.com

Shell 100.00%

nano-node-docker's Introduction

NANO Node Docker

Logo

Description

Install a NANO node on your server with a vast variety of tools in a couple on minutes! ๐Ÿ’ซ

Notice
Nano Node Docker is an automated installer mainly intended to be used for development purposes. Main network nodes with significant delegated amounts shall not be left unattended to upgrade automatically and require special monitoring and security measures.

This project will build and deploy the following containers on your Docker host:

Container name Description
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.
watchtower A process watching all the other containers and automatically applying any updates to their base image.

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:

Container name Description
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.

Quick Start

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 -t V25.1

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:

Flag Argument Description
-t Docker image tag Indicates the explicit tag for the nanocurrency Docker image. Required.
-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).

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.

Examples

Install with SSL enabled

After your DNS records are setup, fire up the installation script with the domain (-d) argument:

$ sudo ./setup.sh -t V25.1 -d mydomain.com -e [email protected]

The email (-e) argument is optional and would be 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 NANO Foundation's Nano Snapshots Uploader. As of Oct 2023, the compressed size for download exceeds 45GB. More info can be found here.

Just add the -f flag to your installer command:

$ sudo ./setup.sh -t V25.1 -f

WARNING: You are strongly adviced to BACKUP your wallet seed before trying to fast-sync an existing node.

Install with a specific NANO node image

From v4.4 onwards, the Nano node image tag argument is required. Please avoid using the :latest tag as it was decomissioned by the Nano Foundation repositories and it won't be updated anymore.

$ sudo ./setup.sh -t V25.1

Note: For the main network, you are strongly advised to follow the instructions by the NANO core team about the most optimal image tag.

Combining installer flags

All the installer flags can be chained, so you can easily combine them like this:

$ sudo ./setup.sh -sft V25.1 -d mydomain.com -e [email protected]

(display seed, apply fast-sync and use Let's Encrypt with your email supplied)

Screenshot

Self-configurable Installation

Please check the wiki for more detailed instructions on how to manually self-configure NANO Node Docker.

Credits

Support

Stargazers over time

If you really liked this tool, just give this project a star โญ๏ธ so more people get to know it. Cheers! :)

nano-node-docker's People

Contributors

amirmnsr avatar bitdesert avatar lephleg avatar verycutecat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.