Docker Wings Installation
Docker Image Variants
| Variant | Description |
|---|---|
:latest | The latest stable release. Recommended for production. |
:latest-pre | Latest pre-release. May contain new features not yet in :latest, but also new bugs. Not recommended for production. |
:nightly | Latest development build. Updated frequently, may be unstable. Not recommended for production. |
Install Docker
Using Podman instead?
Podman is supported as an alternative to Docker. If you'd prefer to use Podman, install Wings via the binary or package manager method and follow the Running Wings with Podman guide. The Docker Compose method requires Docker.
Verify your Docker installation:
docker --version
docker compose version # if this says "command not found" you may need to use `docker-compose` instead or update your Docker installationIf Docker is not installed, the easiest way to get it is Docker's installation script:
curl -sSL https://get.docker.com/ | CHANNEL=stable bashThis 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
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 fileChange 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
sed -i -e "s/calagopus\/wings:latest/calagopus\/wings:nightly/g" compose.ymlConfigure 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:
mkdir config
nano config/config.ymlPaste 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
docker compose up -dThis 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:
docker compose logs -f wingsNext 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.