Installing skyportd
Install the Skyport daemon on an x86_64 Linux node and enroll it with the panel.
This guide covers the current recommended installation path for the Skyport daemon.
What you need first
Section titled “What you need first”Before you install skyportd, make sure:
- the panel is already online
- you have created a location and node in the panel
- you have generated a configuration token for that node
- the node machine is x86_64 Linux
- Docker is installed and working
Download the latest daemon binary
Section titled “Download the latest daemon binary”The latest GitHub release always includes a Linux x86 binary named skyportd.
sudo curl -fsSL https://github.com/skyportsh/skyportd/releases/latest/download/skyportd -o /usr/local/bin/skyportdsudo chmod +x /usr/local/bin/skyportdCreate a working directory
Section titled “Create a working directory”skyportd needs a place to store its config and local state. A simple layout is:
sudo mkdir -p /etc/skyportd/configsudo chown -R root:root /etc/skyportdYou do not need to manually fill out a config file before first boot.
First run and enrollment
Section titled “First run and enrollment”Run the daemon from the working directory:
cd /etc/skyportdsudo /usr/local/bin/skyportdOn first boot, the daemon will prompt you for:
- the panel URL
- the one-time configuration token generated by the panel
After a successful enrollment, skyportd writes config/local.toml with the panel URL, enrollment details, and the node-specific runtime configuration issued by the panel.
After enrollment
Section titled “After enrollment”Once enrollment succeeds, the daemon stores the configuration it needs in config/local.toml and can begin talking to the panel normally.
TLS behavior
Section titled “TLS behavior”If SSL is enabled for the node, skyportd will try to use Let’s Encrypt paths based on the node FQDN:
/etc/letsencrypt/live/<fqdn>/fullchain.pem/etc/letsencrypt/live/<fqdn>/privkey.pem
If those files do not exist, the daemon will prompt you for certificate and key paths.
Create a systemd service
Section titled “Create a systemd service”Create /etc/systemd/system/skyportd.service:
[Unit]Description=Skyport DaemonAfter=network.target docker.serviceRequires=docker.service
[Service]Type=simpleWorkingDirectory=/etc/skyportdExecStart=/usr/local/bin/skyportdRestart=alwaysRestartSec=5
[Install]WantedBy=multi-user.targetEnable and start the daemon
Section titled “Enable and start the daemon”sudo systemctl daemon-reloadsudo systemctl enable --now skyportd.serviceVerify enrollment
Section titled “Verify enrollment”Check the service log:
journalctl -u skyportd -fThen confirm in the panel that the node shows as configured or online.