Gladius Node Documentation

Welcome to the Gladius node documentation!

What is the Gladius Node?

Contents

FAQ

Will installing an update erase my previous wallet?

No, our installer will only create a wallet directory if one doesn’t already exist.

Note

If you find any issues, let us know and we’ll add them here!

Need more help?

We have an active community of users and developers available on:

And if you find something you think is a bug, please post an issue on Github here.

What are you installing?

Below are guides on installing the services that allow you to become a node in the Gladius network.

Platform Installation Guides

First, download the most recent release for your platform from our Github here. Then follow the steps below to install it on your machine. If you have any problems, check out our Installation help page.

Windows

  • Double click and go through the installer
  • Add it to your desktop!

Linux

  • Run this in the terminal:

    curl -s https://raw.githubusercontent.com/gladiusio/gladius-node/master/installers/install.sh | sudo bash
    

macOS

Double click and drag the App to your Applications folder

Installation help

Below are common issues and solutions, as well as ways to get more help if you need it.

Common problems and solutions

Check out our FAQ for some common questions too

Will installing an update erase my previous wallet?

No, our installer will only create a wallet directory if one doesn’t already exist.

Note

If you find any issues, let us know and we’ll add them here!

Need more help?

We have an active community of users and developers available on:

And if you find a bug with an install, please post an issue on Github here.

Setup

Router setup

Ports that need to be forwarded

Port Service
8080 Networkd - Content server
7946 Controld - P2P Network

If you want to be able to visit sites that you host yourself, you’ll need to enable NAT Reflection/NAT Loopback/NAT Hairpinning on your router.

Using Node Manager UI

Use the Gladius Node Manager UI to go through onboarding and apply to a pool. No ether needed!

Once you applied to a pool wait for the Pool Manager to accept your application. Once you’ve been accepted you’re done! Your computer will automatically download and serve files.

You can monitor blockchain transactions on your account in the Transactions page.

Using CLI

Notes

Note

Windows and macOS users: If you installed through the .exe or .dmg in the releases section, gladius-networkd and gladius-controld are automatically added as system services. You should NOT attempt to run gladius-networkd and gladius-controld as commands because they are already running.

Note

Linux users: You need to run both the Gladius Control and Gladius Network daemons and then you can interact with them through the Gladius CLI. Scroll down to learn how to add the modules as services.

CLI Commands

Full list of CLI commands can be found here

Setup help

Below are common issues and solutions, as well as ways to get more help if you need it.

Common problems and solutions

Check out our FAQ for some common questions too

Note

If you find any issues, let us know and we’ll add them here!

Need more help?

We have an active community of users and developers available on:

And if you find a bug with an install, please post an issue on Github here.

Docker

You can use the provided Dockerfile and docker-compose file to run the gladius networkd and controld as docker containers on your machine. The setup is tested on docker for mac and linux boxes, not yet on arm machines.

Clone this repository!

git clone https://github.com/gladiusio/gladius-node.git

cd gladius-node

Mac Vs. Linux Docker

In macOS, most if not all packages are installed, particularly the newest version of docker_compose

Linux requires some setup to get working, especially out of the box.

Prepping Linux

Install Docker, remove old Docker
# "If you are used to installing Docker to your development machine with get-docker script, that won't work either. So the solution is to install Docker CE from the zesty package."
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu zesty stable"

sudo apt-get update
sudo apt-get install docker-ce
Install Docker-Compose
#Install Docker-compose to run docker_compose commands. Docker compose is not necessary if you don't want to have docker-compose perform the automated actions of starting networkd and controld in separate containers on the same docker network.

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

$ docker-compose --version
docker-compose version 1.21.2, build 1719ceb

Instructions from Docker’s official documentation do not currently support 18.04

https://docs.docker.com/install/linux/docker-ce/ubuntu/#docker-ee-customers

Install Docker compose. version 1.21 or newer required

https://docs.docker.com/compose/install/

Build and publish an image

You can build and publish a docker gladius image to a registry with the two make targets

# create a docker image gladiusio/gladius-node with the latest binary (from the most current release tag in git)
sudo make docker_image
# - or create a docker image with a specific release tag and image name
sudo make docker_image DOCKER_RELEASE=0.3.0 DOCKER_IMAGE=gladiusio/gladius-node

# push the image to the docker registry
sudo make docker_push
# or push a specific image
sudo make docker_push DOCKER_IMAGE=gladiusio/gladius-node

Use docker-compose to run gladius-controld and networkd

You can also use the provided docker compose file to build the images and run them locally

# run docker compose with the latest release
sudo make docker_compose DOCKER_ARCH=amd64

# run docker compose with a specific gladius release
sudo make docker_compose DOCKER_RELEASE=0.3.0 DOCKER_ARCH=amd64

Use docker to run the gladius cli

The image also provides the gladius cli.

# build the docker image gladiusio/gladius-node with release 0.3.0
make docker_image DOCKER_RELEASE=0.3.0 DOCKER_IMAGE=gladiusio/gladius-node
# use the image to run the cli
docker run --rm --network host -ti gladiusio/gladius-node:0.3.0 gladius --help

or

docker run --rm --network host -ti gladiusio/gladius-node:0.3.0 gladius create

etc...

Cleanup

To remove the created docker containers, volumes and network you can execute the docker_compose_cleanup target

make docker_compose_cleanup

Persistent Volumes

The docker images exposes three volumes ${GLADIUSBASE}/content, ${GLADIUSBASE}/wallet and ${GLADIUSBASE}/keys.

If you want to keep your configuration even when you recreate the containers from the image you need to have persistent volumes defined for the volumes.

The docker compose file already does that so if a newer images version is used with the docker compose file the wallet, keys and content data will remain.