Skip to main content
Before installing Wings, ensure your system meets the following requirements. Wings is designed to run on modern Linux distributions with Docker support.

Operating System Requirements

Wings supports the following Linux distributions:

Supported Systems

  • Ubuntu 20.04+
  • Debian 11+
  • CentOS 8+ / Rocky Linux 8+
  • Alpine Linux (with modifications)

Architecture

  • x86_64 (amd64)
  • ARM64 (aarch64)
Wings is built with Go 1.24+ and requires a Linux kernel with Docker support. Alpine Linux users need to use the adduser command syntax (see config/config.go:530).

Docker Requirements

Wings requires Docker to manage game server containers.

Docker Version

  • Minimum: Docker 20.10+
  • Recommended: Docker 24.0+
  • Docker Compose: Not required for Wings operation

Required Docker Features

Wings uses the Docker Engine API to create and manage containers. Ensure the Docker daemon is running and accessible.
Wings creates a custom Docker network (default: pterodactyl_nw) using the bridge driver. The default configuration uses:
  • IPv4: 172.18.0.0/16 with gateway 172.18.0.1
  • IPv6: fdba:17c8:6c94::/64 with gateway fdba:17c8:6c94::1011
Wings mounts server data directories into containers. Ensure your filesystem supports bind mounts.

Hardware Requirements

Minimum Requirements

ComponentRequirement
CPU1 core (2+ recommended)
RAM1 GB (2 GB+ recommended)
Storage10 GB free space
Network100 Mbps
ComponentRequirement
CPU4+ cores
RAM4 GB+ (depends on hosted servers)
StorageSSD with 50 GB+ free space
Network1 Gbps
Memory requirements scale with the number of servers. Each game server requires its own memory allocation plus Wings overhead (default: 5-15% depending on server memory, see config/config_docker.go:154).

Network Requirements

Required Ports

Wings requires the following ports to be accessible:
PortProtocolPurpose
8080TCPWings API (configurable)
2022TCPSFTP server (configurable)
DynamicTCP/UDPGame server allocations
The Wings API port (default: 8080) must be accessible from the Panel server. The SFTP port (default: 2022) should be accessible to users who need file access.

Firewall Configuration

Ensure your firewall allows:
  1. Inbound connections to Wings API port from Panel IP
  2. Inbound connections to SFTP port from user IPs
  3. Inbound/outbound connections on game server allocation ports
  4. Outbound connections for Docker image pulls
# Allow Wings API
sudo ufw allow 8080/tcp

# Allow SFTP
sudo ufw allow 2022/tcp

# Allow game server ports (example range)
sudo ufw allow 25565:25665/tcp
sudo ufw allow 25565:25665/udp

System User Requirements

Wings automatically creates a system user for managing server files:
  • Default username: pterodactyl
  • Default UID/GID: 988 (when running in Docker)
  • Shell: /usr/sbin/nologin or /sbin/nologin
The user creation is handled automatically during Wings startup (see config/config.go:480). On Alpine Linux, the user is created with adduser -S instead of useradd.

Storage Requirements

Wings uses several directories for operation:
DirectoryDefault LocationPurpose
Root/var/lib/pterodactylBase data directory
Servers/var/lib/pterodactyl/volumesServer files
Backups/var/lib/pterodactyl/backupsLocal backups
Archives/var/lib/pterodactyl/archivesServer transfers
Logs/var/log/pterodactylWings logs
Temp/tmp/pterodactylTemporary files
Ensure these directories are on a filesystem with adequate space. Server data can grow significantly depending on the games hosted.

Optional Requirements

SSL/TLS Certificates

For production environments, configure SSL/TLS:
  • Self-signed certificates: Suitable for testing
  • Let’s Encrypt: Auto-TLS support built into Wings
  • Custom certificates: Manual SSL configuration

Log Rotation

Wings automatically configures log rotation if /etc/logrotate.d/ exists (see config/config.go:695). The default configuration:
  • Rotates logs at 10 MB
  • Compresses old logs
  • Keeps logs for 7 days

SELinux

If using SELinux, ensure proper contexts for Wings directories, especially:
  • /run/wings/etc (passwd files)
  • /run/wings/machine-id (machine-id files)
These directories are mounted into containers and require appropriate SELinux contexts.

Checking Your System

Verify your system meets the requirements:
# Check Docker version
docker --version

# Verify Docker is running
sudo systemctl status docker

# Test Docker functionality
sudo docker run hello-world
Once your system meets all requirements, proceed to Installing Wings.

Build docs developers (and LLMs) love