Wings
Minimum Requirements
Before installing the Calagopus Wings Daemon, ensure that your system meets the following minimum requirements:
- Operating System: Ubuntu 22.04 LTS or later, Debian 11 or later, or anything that supports modern Docker versions
- CPU Architecture: x86_64, ARM64, RISC-V or PPC64LE
- RAM: Minimum 512 MB (1 GB or more recommended)
- Disk Space: At least 256 MB of free disk space
Important: Wings requires Docker to be installed and running on the host machine to manage game server containers, these minimum requirements also do not include actual load from game servers which will require additional resources based on the games being hosted.
Technical Overview
The Calagopus Wings Daemon is a lightweight agent responsible for managing game server containers on behalf of the Calagopus Panel. It communicates securely with the Panel to receive instructions and report status updates.
- Language: 🦀 Rust
- Container Management: Docker/Podman via
bollard - Web Framework:
axum - Runtime:
tokio - SSH Handling:
russh
While Cross-Platform support is a goal for Wings, at this time only Linux/MacOS is officially supported due to the reliance on Unix-specific features. Most of the other functionality is implemented from scatch or using smaller crates to keep dependencies minimal and avoid bloat.
Volumes
Wings uses a multitude of volumes to store data, knowing what these volumes are and what they do is crucial for troubleshooting and understanding how Wings works.
| Volume Name | Description | Default Paths |
|---|---|---|
root_directory | This is the root directory where Wings stores its own persistent data (mainly state of servers so it can restore them on restart). | Unix: /var/lib/pterodactylWin: C:\ProgramData\Calagopus |
log_directory | This is the directory where Wings stores its logs. | Unix: /var/log/pterodactylWin: C:\ProgramData\Calagopus\logs |
vmount_directory | This is the directory where Wings stores virtual mounts for servers. Currently mainly used for spoofing hardware UUIDs for containers. | Unix: /var/lib/pterodactyl/vmountsWin: C:\ProgramData\Calagopus\vmounts |
data | This is the directory where Wings stores server data. This is the directory that gets bind-mounted to server containers and is where all server files are stored. | Unix: /var/lib/pterodactyl/volumesWin: C:\ProgramData\Calagopus\volumes |
archive_directory | This is the directory where Wings stores server archives. This is 100% unused in current code and is simply there for compatibility with Pterodactyl's codebase; it may be used in the future. | Unix: /var/lib/pterodactyl/archivesWin: C:\ProgramData\Calagopus\archives |
backup_directory | This is the directory where Wings stores server backups. This applies to backups using the Wings backup driver; btrfs and zfs backups also use this directory for snapshots. | Unix: /var/lib/pterodactyl/backupsWin: C:\ProgramData\Calagopus\backups |
tmp_directory | This is the directory where Wings stores temporary files. This is used for various temporary files that Wings needs to create during its operation. | Unix: /tmp/pterodactylWin: C:\ProgramData\Calagopus\tmp |
INFO
You may have noticed that the default paths for the volumes are the same as Pterodactyl's default paths, this is intentional to make it easier for users migrating from Pterodactyl to Calagopus, as they can simply point Wings to their existing Pterodactyl directories and have everything work without having to move any files. For compatibility reasons, these paths' default values are not planned to change in the future.