Update setup guide
This commit is contained in:
parent
6b3ad6d1ea
commit
08ce6fab32
|
@ -3,3 +3,8 @@
|
||||||
## Setup Guide
|
## Setup Guide
|
||||||
A setup guide with scripts to install prerequisites can be found in the
|
A setup guide with scripts to install prerequisites can be found in the
|
||||||
[setup-scripts](./setup-scripts) directory.
|
[setup-scripts](./setup-scripts) directory.
|
||||||
|
|
||||||
|
Once the setup guide is complete you will be running:
|
||||||
|
- `siad` configured as a ViewNode
|
||||||
|
- a NodeJS app running a Skynet Portal
|
||||||
|
- an nginx proxy
|
||||||
|
|
|
@ -23,6 +23,53 @@ You a can now ssh into your machine as the user `user`.
|
||||||
7. Now logged in as `user`: `sudo apt-get install git`
|
7. Now logged in as `user`: `sudo apt-get install git`
|
||||||
8. `git clone https://github.com/NebulousLabs/skynet-webportal`
|
8. `git clone https://github.com/NebulousLabs/skynet-webportal`
|
||||||
9. `cd skynet-webportal/setup-scripts`
|
9. `cd skynet-webportal/setup-scripts`
|
||||||
10. Add ssh pubkeys to `authorized_keys` file.
|
|
||||||
11. `./setup.sh`
|
11. `./setup.sh`
|
||||||
12. Once DNS records are set you can run: `./letsencrypt-setup.sh`
|
12. Once DNS records are set you can run: `./letsencrypt-setup.sh`
|
||||||
|
13. You should also change the nginx configuration to listen on port 443
|
||||||
|
instead.
|
||||||
|
|
||||||
|
## Setting up siad
|
||||||
|
|
||||||
|
NOTE: You must be running `siad` and `siac` by building from the `viewnode`
|
||||||
|
branch.
|
||||||
|
|
||||||
|
You still need to setup `siad` for the backend to be complete.
|
||||||
|
1. `cd ~/; mkdir siad`
|
||||||
|
2. `nohup siad &>/dev/null &`
|
||||||
|
|
||||||
|
This will start syncing `siad` in the background.
|
||||||
|
|
||||||
|
## ViewNode setup
|
||||||
|
|
||||||
|
When `siad` is done syncing, create a new wallet and unlock the wallet.
|
||||||
|
|
||||||
|
Then set an allowance (`siac renter setallowance`), with the suggested values
|
||||||
|
below:
|
||||||
|
- 10 KS (keep 25 KS in your wallet)
|
||||||
|
- default period
|
||||||
|
- default number of hosts
|
||||||
|
- 8 week renewal time
|
||||||
|
- 500 GB expected storage
|
||||||
|
- 500 GB expected upload
|
||||||
|
- 5 TB expected download
|
||||||
|
- default redundancy
|
||||||
|
|
||||||
|
Once your allowance is set you need to set your node to be a viewnode with the
|
||||||
|
following command:
|
||||||
|
`siac renter setallowance --view-contract-initial-price 10SC`
|
||||||
|
|
||||||
|
Now your node will begin making 10 contracts per block with many hosts so it can
|
||||||
|
potentially view the whole network's files.
|
||||||
|
|
||||||
|
## Running the Portal
|
||||||
|
`cd` into the parent directory and run `yarn` to build dependencies.
|
||||||
|
|
||||||
|
We recommend running the Portal through `pm2` (a nodejs process manager) in the background with the command:
|
||||||
|
|
||||||
|
`pm2 --name skynet start npm -- start`
|
||||||
|
|
||||||
|
`yarn start` will also work if not using `pm2`.
|
||||||
|
|
||||||
|
The Protal which will automatically read your `siad` API password and startup a
|
||||||
|
portal on `localhost:3000`. nginx will expose this to port 80 or 443 if you
|
||||||
|
configured it for SSL.
|
||||||
|
|
|
@ -6,6 +6,11 @@ cp ./tmux.conf ~/.tmux.conf
|
||||||
cp ./bashrc ~/.bashrc
|
cp ./bashrc ~/.bashrc
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
|
|
||||||
|
# Add SSH keys and set SSH configs
|
||||||
|
sudo cp ./ssh_config /etc/ssh/ssh_config
|
||||||
|
mkdir -p ~/.ssh
|
||||||
|
cat ./authorized_keys >> ~/.ssh/authorized_keys
|
||||||
|
|
||||||
# Nodejs install prerequisite. From official documentation.
|
# Nodejs install prerequisite. From official documentation.
|
||||||
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
|
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
|
||||||
|
|
||||||
|
@ -22,27 +27,11 @@ sudo apt-get -y install ufw tmux ranger htop nload nginx certbot \
|
||||||
sudo npm i -g pm2
|
sudo npm i -g pm2
|
||||||
|
|
||||||
# terminfo for alacritty terminal via ssh
|
# terminfo for alacritty terminal via ssh
|
||||||
|
# If you don't use the alacritty terminal you can remove this step.
|
||||||
wget -c https://raw.githubusercontent.com/alacritty/alacritty/master/extra/alacritty.info
|
wget -c https://raw.githubusercontent.com/alacritty/alacritty/master/extra/alacritty.info
|
||||||
sudo tic -xe alacritty,alacritty-direct alacritty.info
|
sudo tic -xe alacritty,alacritty-direct alacritty.info
|
||||||
rm alacritty.info
|
rm alacritty.info
|
||||||
|
|
||||||
# Install Go 1.13.7.
|
|
||||||
wget -c https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz
|
|
||||||
sudo tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz
|
|
||||||
source ~/.bashrc
|
|
||||||
rm go1.13.7.linux-amd64.tar.gz
|
|
||||||
|
|
||||||
# Sanity check that will pass if go was installed correctly.
|
|
||||||
go version
|
|
||||||
|
|
||||||
# Install Sia
|
|
||||||
cwd=$(pwd)
|
|
||||||
cd ~/
|
|
||||||
git clone https://gitlab.com/NebulousLabs/Sia
|
|
||||||
cd Sia && git checkout viewnode && make
|
|
||||||
|
|
||||||
cd $cwd
|
|
||||||
|
|
||||||
# Setup nginx config
|
# Setup nginx config
|
||||||
sudo cp ./skynet-nginx.conf /etc/nginx/sites-available/skynet
|
sudo cp ./skynet-nginx.conf /etc/nginx/sites-available/skynet
|
||||||
sudo nginx -t
|
sudo nginx -t
|
||||||
|
@ -57,16 +46,23 @@ sudo ufw allow ssh
|
||||||
sudo ufw allow 'Nginx Full'
|
sudo ufw allow 'Nginx Full'
|
||||||
sudo ufw allow 'Nginx HTTP'
|
sudo ufw allow 'Nginx HTTP'
|
||||||
|
|
||||||
# Setup skynet frontend.
|
# Install Go 1.13.7.
|
||||||
|
wget -c https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz
|
||||||
|
sudo tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz
|
||||||
|
source ~/.bashrc
|
||||||
|
rm go1.13.7.linux-amd64.tar.gz
|
||||||
|
|
||||||
|
# Sanity check that will pass if go was installed correctly.
|
||||||
|
go version
|
||||||
|
|
||||||
|
cwd=$(pwd)
|
||||||
|
|
||||||
|
# Install Sia
|
||||||
cd ~/
|
cd ~/
|
||||||
git clone https://github.com/NebulousLabs/skynet-webportal && cd skynet-webportal
|
git clone https://gitlab.com/NebulousLabs/Sia
|
||||||
yarn
|
cd Sia && git checkout viewnode && make
|
||||||
|
|
||||||
# Start the frontend.
|
# Setup skynet frontend.
|
||||||
pm2 --name skynet start npm -- start
|
|
||||||
|
|
||||||
# Add SSH keys and set SSH configs
|
|
||||||
cd $cwd
|
cd $cwd
|
||||||
sudo cp ./ssh_config /etc/ssh/ssh_config
|
cd ../
|
||||||
mkdir -p ~/.ssh
|
yarn
|
||||||
cat ./authorized_keys >> ~/.ssh/authorized_keys
|
|
||||||
|
|
Reference in New Issue