Skip to content

Skywire Package Installation

Moses Narrow edited this page Feb 7, 2022 · 43 revisions

Installing Skywire as a Package

Using a package of skywire allows the package manager to handle the installation and updates. The package will 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).

Please note: The dmsgpty terminal / hypervisor interface will be interrupted on updating or when skywire-autoconfig is run. It is expected that any remote instances of skywire will be updated or configured via ssh - not from the dmsgpty terminal of the hypervisor UI.

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

Note: using either the domain or the IP address of the server in the following commands will work. These instructions use the IP address to subvert any potential DNS issues. If you have no concerns about DNS issues, you can use instead the domain http://deb.skywire.skycoin.com

1) Add the repository to your apt sources

Configure the apt repository in your apt sources by editing the /etc/apt/sources.list file

sudo nano /etc/apt/sources.list

add the following line:

deb http://176.9.28.105 sid main

press ctrl+X to exit the editor, type y at the prompt to save the file
alternatively, you can use the apt-add-repository command

sudo add-apt-repository 'deb http://176.9.28.105 sid main'

nano /etc/apt/sources.list

2) Add the repository signing key

curl -L http://176.9.28.105/KEY.asc | sudo apt-key add -

add repository signing key

3) Resync the package database

sudo apt update

apt update

4) Install skywire

sudo apt install skywire-bin

apt install skywire-bin

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

5) 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

this can also be done using only the IP address of the desired hypervisor if its RPC server is public / not set to localhost in the config file
first test that the hypervisor, when queried, returns it's public key

skywire-cli --rpc=192.168.0.2 visor pk

If the above works, include the result of that command as an argument to skywire-autoconfig

skywire-autoconfig $(skywire-cli --rpc=192.168.0.2 visor pk) 

configure a remote hypervisor

6) Updating

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

apt update
apt upgrade

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 with packages should be reported in the skycoin/AUR repository

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