From c37fa43a1185fd06e3fbc091737e3d65ac4920b1 Mon Sep 17 00:00:00 2001 From: Marston Connell <34043723+TheMarstonConnell@users.noreply.github.com> Date: Wed, 7 Dec 2022 23:31:53 -0500 Subject: [PATCH] provider updates --- docs/nodes/1_install.md | 53 ++++++++++++++++++++++++++++ docs/nodes/nodes/2_installation.md | 48 +------------------------ docs/nodes/providers/1_building.md | 5 +++ docs/nodes/providers/2_setting_up.md | 32 +++++++++++++---- 4 files changed, 84 insertions(+), 54 deletions(-) create mode 100644 docs/nodes/1_install.md diff --git a/docs/nodes/1_install.md b/docs/nodes/1_install.md new file mode 100644 index 0000000..46d39cb --- /dev/null +++ b/docs/nodes/1_install.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 0 +--- +# Setting Up + +## Pre-Requisites + +There are a few things needed before installing. + +:::tip + +Perform the follow instructions as `root` or your `admin` account. + +::: +### Installing required tools +This will install the necessary tools to build the jackal chain source, along with lz4 compression tool and jquery tool. + +```sh +sudo apt update +sudo apt install build-essential lz4 jq +``` + +### Installing Go +Follow more in-depth instructions to install Go v1.19 or higher [here](https://golang.org/doc/install). + +On Ububtu you can install it with: + +```sh +GOVER=$(curl https://go.dev/VERSION?m=text) +wget https://golang.org/dl/${GOVER}.linux-amd64.tar.gz +sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ${GOVER}.linux-amd64.tar.gz +``` + +Add the following golang path info to the current users `~/.profile`. + +Also add it to the skeleton profile so all new users have it. `/etc/skel/.profile` + +```sh +# add environmental variables for Go +if [ -f "/usr/local/go/bin/go" ] ; then + export GOROOT=/usr/local/go + export GOPATH=${HOME}/go + export GOBIN=$GOPATH/bin + export PATH=${PATH}:${GOROOT}/bin:${GOBIN} + export GO111MODULE=on +fi +``` + +Restarting the shell with youre profile settings or just rebasing them like so is required. + +```sh +source ~/.profile +``` \ No newline at end of file diff --git a/docs/nodes/nodes/2_installation.md b/docs/nodes/nodes/2_installation.md index e183ce8..b10420a 100644 --- a/docs/nodes/nodes/2_installation.md +++ b/docs/nodes/nodes/2_installation.md @@ -4,53 +4,7 @@ sidebar_position: 2 # Installing Canined ## Pre-Requisites - -There are a few things needed before installing. - -:::tip - -Perform the follow instructions as `root` or your `admin` account. - -::: -### Installing required tools -This will install the necessary tools to build the jackal chain source, along with lz4 compression tool and jquery tool. - -```sh -sudo apt update -sudo apt install build-essential lz4 jq -``` - -### Installing Go -Follow more in-depth instructions to install Go v1.19 or higher [here](https://golang.org/doc/install). - -On Ububtu you can install it with: - -```sh -GOVER=$(curl https://go.dev/VERSION?m=text) -wget https://golang.org/dl/${GOVER}.linux-amd64.tar.gz -sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ${GOVER}.linux-amd64.tar.gz -``` - -Add the following golang path info to the current users `~/.profile`. - -Also add it to the skeleton profile so all new users have it. `/etc/skel/.profile` - -```sh -# add environmental variables for Go -if [ -f "/usr/local/go/bin/go" ] ; then - export GOROOT=/usr/local/go - export GOPATH=${HOME}/go - export GOBIN=$GOPATH/bin - export PATH=${PATH}:${GOROOT}/bin:${GOBIN} - export GO111MODULE=on -fi -``` - -Restarting the shell with youre profile settings or just rebasing them like so is required. - -```sh -source ~/.profile -``` +See [Set-up](../1_install.md). ### Firewall Configuration Configure UFW to only accept traffic on ports we use. diff --git a/docs/nodes/providers/1_building.md b/docs/nodes/providers/1_building.md index aa7f750..fdef5f2 100644 --- a/docs/nodes/providers/1_building.md +++ b/docs/nodes/providers/1_building.md @@ -7,6 +7,11 @@ sidebar_position: 1 This guide assumes you either have access to a full node over a network connection or are using the same machine as the full node. +## Networking +To allow your provider to be used by the Jackal Protocol Dashboard, please ensure you have a reverse proxy system setup and have a registered domain name pointing to your provider. We recommend using [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/). + +If you have UPNP enabled on your router, your provider will be open to the internet by default at port `3333`. You can find the address it can be connected to by running `canined network ip`. + ## Setting up ZFS Without Mirroring Setting up ZFS allows us to combine multiple drives together, in this case we are merging two drives. We don't recommend you only merge drives with striping and instead we recommend mirroring. However mirroring is a longer process and different for each configuration. In our case, this machine is only running with 24TB across 2 drives. We are less concerned about a drive failing as that would wipe half our storage anyways. diff --git a/docs/nodes/providers/2_setting_up.md b/docs/nodes/providers/2_setting_up.md index 4a31aa8..9c3080f 100644 --- a/docs/nodes/providers/2_setting_up.md +++ b/docs/nodes/providers/2_setting_up.md @@ -1,26 +1,44 @@ --- sidebar_position: 2 --- -# Setting Up Canined +# Setting Up JProvd -## Canined Init +## Pre-Requisites +See [Set-up](../1_install.md). -We need to set up canine to live inside the mount point we just created as that is where all the files are stored. +## Installing -:::info +:::tip -The chain must be live on main-net to complete the following actions +Check latest version [here](https://github.com/JackalLabs/canine-provider/releases). ::: +```sh +git clone https://github.com/JackalLabs/canine-provider.git + +git pull + +git checkout {version} + +make install +``` + +## Initializing + +:::tip + +Your keybase identity can be left as `""` if you don't want to link your provider to keybase. + +::: ```sh export PHOME={path-to-pool-from-before} jprovd client gen-key --home=$PHOME -jprovd config chain-id {chain-id} --home=$PHOME -jprovd config node {your node} --home=$PHOME +jprovd client config chain-id {chain-id} --home=$PHOME +jprovd client config node {your node} --home=$PHOME jprovd init {IP_ADDRESS} {STORAGE_IN_BYTES} {KEYBASE_IDENTITY} --home=$PHOME