Skip to content

Skywire Package Installation

Moses Narrow edited this page Jun 8, 2022 · 43 revisions

Installing Skywire as a Package

Using a package of skywire allows the package manager to handle the installation and updates.

This guide will always reflect the latest / current procedure for package installation and updating.

Debian-based systems ( Debian / Armbian / Raspbian / *buntu )

Skywire is available to install as a package from the apt repo at https://deb.skywire.skycoin.com using the apt command on .deb based linux distros

Configuring the package repository allows the package to be updated with the rest of the software installed on the system as new versions become available or revisions to packaging are made (i.e. minor release).

1) Download and install the repository configuration and signing key

Installing the skybian package will allow skywire to be installed or updated with apt

This step only needs to be done once (or on changes to the apt repo location / keys) This has already been done in the new skybian images (1.0.0)

curl https://deb.skywire.skycoin.com/archive/skybian-$(dpkg --print-architecture).deb -o skybian-$(dpkg --print-architecture).deb
sudo dpkg -i skybian-*.deb
rm skybian-*.deb

2) Resync the package database

sudo apt update

apt_update

3) Install skywire

sudo apt install skywire-bin

apt_install_skywire-bin-0 6 0

Note: if you want to use keys from a previous config:

  • place the config file at /etc/skywire-config.json
  • remove the config from /opt/skywire/skywire.json
  • then run skywire-autoconfig

Note: The default config from skybian was used automatically

3) Install skywire from DMSGPTY terminal

If the commands are executed in the dmsgpty terminal, on versions older than 1.0.0, it is required to include DMSGPTYTERM=1 before apt

DMSGPTYTERM=1 apt install skywire-bin

You will then be prompted to manually restart the service after the package manager has finished installing the package

restart the service as the terminal output instructs, and navigate again to the hypervisor UI in the browser to make sure everything worked.

4) Configure Remote hypervisor

Assuming the previous steps have been completed on more than one machine, provide the public key of the hypervisor as an argument to the skywire-autoconfig command

skywire-autoconfig 924b125136a9eeac0ceb079005846e02500d26129e073ef0d913bcd364795e8377

To subsequently reset to a local hypervisor configuration

skywire-autoconfig 0

remote_hypervisor-0 6 0

5) Enable VPN server

The VPN server will be enabled by the skywire-autocofig script if VPNSERVER=1

sudo VPNSERVER=1 skywire-autoconfig

image

To enable the VPN server persistently via skywire-autoconfig, execute the following commands:

echo "export VPNSERVER=1" | sudo tee -a /etc/profile
source /etc/profile

then, log out and log back in

If you run as a regular user (not root) it's also required to execute the following command:

echo 'Defaults env_keep += "VPNSERVER"' | sudo tee -a /etc/sudoers.d/skywire

In this way, the VPN server will be enabled when the config is updated by sudo skywire-autoconfig

and it will not be disabled by updating skywire or re-running sudo skywire-autoconfig as it would have been

6) Updating

Skywire will be updated along with the rest of the software on the system with apt

apt update
apt upgrade

Skywire alone can be explicitly updated with

apt update
apt install skywire

6) Updating via DMSGPTY terminal

For a miner with multiple visors connected to a single hypervior via the dmsgpty terminal:

  • it is recommended to update the visors first.
  • it is recommended to record the IP address of each visor you are updating

in case issues with the update are encountered when using the DMSGPTY terminal, attempt to reach the boards via SSH and repeat the steps of this guide

apt update
DMSGPTYTERM=1 apt upgrade

Skywire alone can be explicitly updated with

apt update
DMSGPTYTERM=1 apt install skywire

You will be prompted to start or restart the systemd service after skywire has been installed and the configuration has been updated

Copy and paste the command specified in the terminal output.

To see the command again, run:

DMSGPTYTERM=1 skywire-autoconfig

7) Troubleshooting

Almost any issue with configuration should be solved by running:

skywire-autoconfig

The visor or hypervisor should be enabled appropriately with this command. Missing configs will be regenerated.
Helpful text is printed with links to access the hypervisor UI, VPN, as well as links to the uptime tracker and whitelist.
It is safe to re-run this command at any time.

8) Uninstalling

If the above troubleshooting procedure does not work, it may be necessary to uninstall and re-install the package.
Uninstalling can be done with APT:

sudo apt remove skywire-bin

9) Using DPKG

In the instance that the packages fail to download with apt, it is possible to install the package with dpkg
The packages can be manually downloaded from https://176.9.28.105/archive.
Copy the URL of the latest versioned release into the curl command:

sudo curl -L http://176.9.28.105/archive/skywire-bin.deb > skywire-bin.deb

and install with dpkg

sudo dpkg -i skywire-bin.deb

remove or uninstall a package with dpkg

sudo dpkg -r skywire-bin 

10) Automatic Updates

By default, many deb-based linux distros now include the unattended-upgrades package, which can be enabled for use with the apt repository configured in the first step.
If you do not have this package installed, first install unattended-upgrades

apt install unattended-upgrades

Edit the file at /etc/apt/apt.conf.d/50unattended-upgrades

nano /etc/apt/apt.conf.d/50unattended-upgrades

Add the following line at the first blank line (around line 33)

        "origin=skycoin,codename=sid,label=skycoin";

You may wish to uncomment some lines above it as well, this is left to the discretion of the user.
Save and exit the file (ctrl+x type y press return)
Run the following commands as root to enable the automatic updates

echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | debconf-set-selections
dpkg-reconfigure -f noninteractive unattended-upgrades

11) Issue Reporting

Issues related to the packaging should be reported in the skycoin/AUR repository

12) Short form DMSGPTY terminal compatible

The following commands can be copy / pasted into the dmsgpty terminal in order to update; provided for expediency:

Install or update a hypervisor

curl https://deb.skywire.skycoin.com/archive/skybian-$(dpkg --print-architecture).deb -o skybian-$(dpkg --print-architecture).deb
sudo dpkg -i skybian-*.deb
rm skybian-*.deb
apt update
DMSGPTYTERM=1 apt install skywire-bin
systemctl restart skywire

Install or update a visor

curl https://deb.skywire.skycoin.com/archive/skybian-$(dpkg --print-architecture).deb -o skybian-$(dpkg --print-architecture).deb
sudo dpkg -i skybian-*.deb
rm skybian-*.deb
apt update
DMSGPTYTERM=1 apt install skywire-bin
systemctl restart skywire-visor

Arch-based systems ( EndeavourOS / Manjaro )

Skywire is available to install from the Arch User Repos (AUR) with tools such as yay or pamac

for the binary release:

yay -S skywire-bin

using the latest source archive:

yay -S skywire

or manually, with makepkg

git clone https://aur.archlinux.org/skywire
cd skywire
makepkg -sif
#or build from cloned git sources
makepkg -sif -p git.PKGBUILD
Clone this wiki locally