Skywire installation via apt.
Select a mirror to install the apt repo configuration package from:
curl -Lo skyrepo.deb https://deb.theskywirenetwork.net/skyrepo.deb && sudo dpkg -i skyrepo.deb && rm skyrepo.deb && sudo install-skywire || sudo apt install skywire-bin
Alternate mirror (github hosted):
curl -Lo skyrepo.deb https://deb.skywire.skycoin.com/skyrepo.deb && sudo dpkg -i skyrepo.deb && rm skyrepo.deb && sudo install-skywire || sudo apt install skywire-bin
Alternate mirror:
curl -Lo skyrepo.deb https://deb.skywire.dev/skyrepo.deb && sudo dpkg -i skyrepo.deb && rm skyrepo.deb && sudo install-skywire || sudo apt install skywire-bin
if you encounter issues with the above step which resulted in skywire not being installed, at that point try
sudo apt install skywire-bin
read the full package installation and configuration documentation in the skywire package installation guide
The same mirrors host a signed pacman binary repository under /archlinux/$arch
(arches: x86_64, aarch64, armv7h). This ships the same skywire-bin
package the AUR builds, but
prebuilt — so it installs and updates as root via pacman with no
per-device makepkg/Go toolchain, and the pacman database stays accurate.
Every package and the repo database are signed with the Skycoin packaging key
(the same key that signs the apt repo), so SigLevel = Required.
Import the signing key, add the repo, and install:
sudo pacman-key --init
curl -fsSL https://deb.skywire.dev/archlinux/skywire-pacman.gpg | sudo pacman-key --add -
sudo pacman-key --lsign-key 48F19E5157BE6014D80A47328D6D51BC4AD7AE64
printf '\n[skywire]\nSigLevel = Required\nServer = https://deb.skywire.dev/archlinux/$arch\n' | sudo tee -a /etc/pacman.conf
sudo pacman -Sy skywire-bin
$arch stays literal in pacman.conf — pacman substitutes it per host. Upgrade
later with sudo pacman -Sy skywire-bin (or a full pacman -Syu). The
/generator/ form can emit this command with your autoconfig flags. The AUR
package remains available (yay -S skywire-bin) — it builds the identical
package from the release tarball at the user level.
Maintainers: republish the pacman repo from a release with
./updskywirepacman.sh(the pacman analogue ofupdskywirebin.sh), then./updgithub.shto deploy.
The default install command (above) runs install-skywire / apt install
skywire-bin as a foreground process attached to your shell session. The
package’s postinst regenerates the autoconfig and restarts the skywire
service at the end. When the install is happening over skywire cli dmsg pty
exec (i.e. you connected to the box via the visor’s PTY rather than ssh),
that service restart kills the dmsgpty session — and your shell, the apt
process, and dpkg get a SIGHUP mid-postinst. The package is left
half-configured.
Two workarounds, both shipped by the package set:
Option A: run the install under install-skywire.service — the systemd
unit is decoupled from your pty session so the service restart can’t kill it:
curl -Lo skyrepo.deb https://deb.theskywirenetwork.net/skyrepo.deb \
&& sudo dpkg -i skyrepo.deb && rm skyrepo.deb \
&& sudo systemctl start install-skywire.service
Trade-off: you lose live progress output (the install runs in the background;
check journalctl -u install-skywire).
Option B: NOAUTOCONFIG=true to suppress the postinst restart — keeps
foreground progress visible; the service isn’t touched, so the pty stays
alive. Then trigger autoconfig out-of-band from a NEW connection (which can
be the same dmsgpty target — by that point the existing session has already
exited):
curl -Lo skyrepo.deb https://deb.theskywirenetwork.net/skyrepo.deb \
&& sudo dpkg -i skyrepo.deb && rm skyrepo.deb \
&& NOAUTOCONFIG=true sudo apt install skywire-bin
# then, from a fresh session (ssh, or a second pty exec):
sudo systemctl start skywire-autoconfig.service
NOAUTOCONFIG=true only suppresses the in-line autoconfig+restart; the
package contents (binary, units, configs) are installed normally. The
skywire-autoconfig.service is shipped by skywire-bin and runs the same
config regen + service-restart that the postinst would have, but from outside
your interactive session.
If you’re installing over ssh (default) you don’t need either workaround — the standard command works as-is. This section only matters when the install/upgrade is running over a dmsgpty connection.
The skyrepo package ships an example drop-in for unattended-upgrades(8) at
/usr/share/doc/skyrepo/examples/52unattended-upgrades-skycoin. It is NOT
activated on install — the package only adds the apt source. To opt in so that
skywire-bin and related Skycoin packages upgrade automatically on the system’s
regular apt-daily-upgrade.timer schedule:
sudo cp /usr/share/doc/skyrepo/examples/52unattended-upgrades-skycoin \
/etc/apt/apt.conf.d/
Confirm the origin metadata matches the file’s Origins-Pattern:
apt-cache policy | grep -A1 skycoin
To disable later, remove the file:
sudo rm /etc/apt/apt.conf.d/52unattended-upgrades-skycoin
Each mirror above serves a browser-based form at /generator/ that builds the install command (and a downloadable /etc/skywire.conf and skywire.json) from your chosen autoconfig flags:
The form’s flag set tracks pkg/skywireconfig/autoconfigcmd at the skywire version this repo was last rebuilt against.
If you have issues, we are happy to assist on telegram @skywire