Skip to content

Docker Wings Installation

Docker Image Variants

VariantDescription
:latestThe latest stable release. Recommended for production.
:latest-preLatest pre-release. May contain new features not yet in :latest, but also new bugs. Not recommended for production.
:nightlyLatest development build. Updated frequently, may be unstable. Not recommended for production.

Install Docker

Verify your Docker installation:

bash
docker --version
docker compose version # if this says "command not found" you may need to use `docker-compose` instead or update your Docker installation

If Docker is not installed, the easiest way to get it is Docker's installation script:

bash
curl -sSL https://get.docker.com/ | CHANNEL=stable bash

This installs Docker Compose as well. If not, follow the Docker Compose installation instructions. Otherwise refer to the official Docker installation guide.

Download the Compose Stack

bash
mkdir calagopus-wings
cd calagopus-wings

curl -o compose.yml https://raw.githubusercontent.com/calagopus/wings/refs/heads/main/compose.local.yml
ls -lh # should show you the compose.yml file

Change the Image Variant (Optional)

The compose file uses :latest by default. To switch variants, open compose.yml and change the image tag on the wings service.

Example: switching to :nightly via sed
bash
sed -i -e "s/calagopus\/wings:latest/calagopus\/wings:nightly/g" compose.yml

Configure Wings

Before starting Wings, you need to register the node in the panel and get its configuration. Follow the Adding a Node guide to create the node, then copy the configuration content from the Node Configuration page in the panel.

Create the config directory and file:

bash
mkdir config
nano config/config.yml

Paste the configuration from the panel and save.

Volume paths must match exactly

If you change any volume locations, the paths in compose.yml and config/config.yml must be identical and must be absolute paths. Wings passes these paths directly to the Docker daemon, which mounts them on the host - mismatched paths will prevent Wings from creating server containers correctly.

Start Wings

bash
docker compose up -d

This pulls the image and starts Wings in detached mode. Once running, the panel should show the node as connected.

If you run into issues, check the logs:

bash
docker compose logs -f wings

Next Steps

With Wings running, the next step is to set up allocations - the IP and port combinations you can assign to servers. See Setting up Allocations.