Skip to main content

Standalone installation

Run the Wings Daemon directly on a linux server.

danger

You should have some basic familiarity with Linux before you proceed!

System Requirements

warning

Please be aware that some hosts install a modified kernel that does not support some docker features required for Wings to operate correctly.
Please check your kernel by running uname -r. If your kernel ends in -xxxx-grs-ipv6-64 or -xxxx-mod-std-ipv6-64 you're probably using a non-supported kernel. You should contact your host, and request a non-modified kernel.

To run Wings, you will need a Linux system capable of running Docker containers. Most VPS and almost all dedicated servers should be capable of running Docker, but there are edge cases.

When your provider uses Virtuozzo, OpenVZ (or OVZ), or LXC virtualization, you will most likely be unable to run Wings. Some providers have made the necessary changes for nested virtualization to support Docker. Ask your provider's support team to make sure. KVM is guaranteed to work.

The easiest way to check is to type systemd-detect-virt. If the result doesn't contain OpenVZ or LXC, it should be fine. The result of none will appear when running dedicated hardware without any virtualization.

Should that not work for some reason, or you're still unsure, you can also run the command below.

sudo dmidecode -s system-manufacturer

Installing Docker

Wings requires Docker CE. For a quick install of Docker CE, you can use the command below:

curl -sSL https://get.docker.com/ | CHANNEL=stable sudo sh
Trouble installing?

If the above command does not work, please refer to the official Docker documentation on how to install Docker CE on your server.

Download Wings binary

The first step for installing Wings is to ensure we have the required directory structure setup. To do so, run the commands below, which will create the base directory and download the wings executable.

sudo mkdir -p /etc/pelican /var/run/wings
sudo curl -L -o /usr/local/bin/wings "https://github.com/pelican-dev/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings

Configure

Once you have installed Wings and the required components, the next step is to create a node on your installed Panel. Go to your Panel administrative view, select Nodes from the sidebar, and on the right side click Create New button.

After you have created a node, click on it and there will be a tab called Configuration. Copy the code block content, create a new file at /etc/pelican/config.yml, paste the content into it and save.

Alternatively, you can click on the Auto Deploy Command button, copy the sh command and paste it into your terminal.

Using ssl?

If your Panel is using SSL, Wings must also use SSL.

See Creating SSL Certificates documentation page for how to create these certificates before continuing.

Starting Wings for the first time

To start Wings for the first time, simply run the command below, which will start it in a debug mode.
Once you confirmed that it is running without errors, use CTRL+C to terminate the process and daemonize it by following the instructions below.

Depending on your server's internet connection pulling and starting Wings for the first time may take a few minutes.

sudo wings --debug

Daemonizing (using systemd)

Running Wings in the background is a simple task, just make sure that it runs without errors before doing this.

Place the contents below in a file called wings.service in the /etc/systemd/system directory.

/etc/systemd/system/wings.service
[Unit]
Description=Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pelican
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target

Then, run the command below to start Wings and enable start on boot.

sudo systemctl enable --now wings