What is a Noteworthy Hub?

You can think of Noteworthy Hubs as decentralized load-balancers that proxy encrypted traffic between the public internet and Noteworthy compatible distributed overlay networks.

DNS Setup

Before getting started make sure *.YOURDOMAIN.COM and hub.YOURDOMAIN.COM are pointing to the IP of the host you plan to use as a Noteworthy Hub.

Install notectl

Start by copying and pasting the following Bash function. You can also add it to your ~/.bashrc if you'd like it to persist across shell sessions.

notectl-hub() { 
	docker run --rm -it -v "/var/run/docker.sock:/var/run/docker.sock" decentralabs/noteworthy:hub-beta $@;
}

This Bash function wraps the notectl command-line utility that lives inside the decentralabs/noteworthy:hub-beta Docker container.

Now let's deploy the Launcher container. Launcher is Noteworthy's container orchestration layer; it's really just some Python code that talks to the Docker daemon to automate spinning up Docker containers.

Replace myhub.example.com in the command below with the fully-qualified domain name of your hub (the host you're running this command on) for example hub.mydomain.com.

$ notectl-hub launcher launch_hub myhub.example.com

Your hub should be publicly accessible on TCP ports 80, 443 and UDP 32000-33000. We rely on Docker to randomly assign UDP ports to the Link containers that run on the hub and provide connectivity for the connected spokes (we call them roots in Noteworthy nomenclature).

Thats it! Your Noteworthy Hub is up and running.

Generate an invite to grant public connectivity via your hub

Replace $someIdentifier in the command below with whatever you like.

$ notectl-hub invite $someIdentifier
$someIdentifier: 80ff6c4d-06ad-406d-b0aa-faad6a26d123

Head on over to the instructions for deploying a Matrix home server (aka root) with your shiny new Hub and don't forget to encourage friends and family to take ownership of their online services, too!