Skip to main content
Wings uses a YAML configuration file located at /etc/pterodactyl/config.yml by default. This guide covers all configuration options based on the actual source code. The easiest way to configure Wings is using the automatic configuration command:
This command fetches the configuration from your Panel and automatically creates the config file (see cmd/configure.go:48).

Auto-Configure Options

Use --allow-insecure only for testing with self-signed certificates.

Manual Configuration

For manual configuration or customization, create /etc/pterodactyl/config.yml.

Basic Configuration Structure

/etc/pterodactyl/config.yml

Configuration Reference

Panel Connection

Settings for connecting Wings to your Panel.
string
required
Panel URL (e.g., https://panel.example.com)
string
required
Token ID from Panel node configuration
string
required
Authentication token from Panel node configuration
integer
default:"30"
API request timeout in seconds (see config/config.go:110)
integer
default:"50"
Number of servers to load per API request (see config/config.go:121)

API Configuration

Configure the Wings API server.
string
default:"0.0.0.0"
Interface to bind the API server to
integer
default:"8080"
Port for the API server
boolean
default:"false"
Enable SSL/TLS for the API
string
Path to SSL certificate file
string
Path to SSL private key file
integer
default:"100"
Maximum file upload size in MB (see config/config.go:96)
array
List of trusted proxy IPs for X-Forwarded-For headers

System Configuration

Core system settings for Wings operation.
string
default:"/var/lib/pterodactyl"
Root data directory for all Pterodactyl data
string
default:"/var/lib/pterodactyl/volumes"
Directory for server files
string
default:"/var/lib/pterodactyl/archives"
Directory for server transfer archives
string
default:"/var/lib/pterodactyl/backups"
Directory for local backups
string
default:"/var/log/pterodactyl"
Directory for Wings logs
string
default:"/tmp/pterodactyl"
Temporary directory for installations (see config/config.go:143)
string
default:"pterodactyl"
System user for server files (see config/config.go:146)
string
default:"auto-detected"
Timezone for containers (auto-detected or manually set)
integer
default:"150"
Seconds between disk usage checks. Set to 0 to disable (see config/config.go:223)
Setting this too low can cause performance issues
boolean
default:"true"
Check file permissions when starting servers (see config/config.go:238)
boolean
default:"true"
Enable automatic log rotation configuration (see config/config.go:242)

SFTP Configuration

Configure the built-in SFTP server.
string
default:"0.0.0.0"
Interface to bind SFTP server to (see config/config.go:67)
integer
default:"2022"
Port for SFTP server (see config/config.go:69)
boolean
default:"false"
Disable write operations on SFTP (see config/config.go:71)

Docker Configuration

Configure Docker integration.

Network Settings

Network configuration is defined in config/config_docker.go:12-42.

Container Settings

integer
default:"100"
Size of /tmp directory in containers (MB) (see config/config.go:60)
integer
default:"512"
Maximum processes per container (see config/config.go:66)
integer
default:"1024"
Memory limit for installer containers (MB) (see config/config.go:73)
integer
default:"100"
CPU limit for installer containers (%) (see config/config.go:74)

Memory Overhead

Configure memory overhead for containers to prevent OOM errors:
Default overhead (when override is false): 15% for ≤2GB, 10% for ≤4GB, 5% otherwise (see config/config_docker.go:154).

Docker Registry Authentication

Authenticate with private Docker registries:

Advanced System Settings

Rootless Mode

Rootless mode is experimental. Enable only if you understand the implications (see config/config.go:159).

Passwd File Generation

Generates /etc/passwd and /etc/group files for containers (see config/config.go:177).

Machine ID

Mounts generated /etc/machine-id files (see config/config.go:196).

Crash Detection

boolean
default:"true"
Enable crash detection globally (see config/config.go:260)
boolean
default:"true"
Detect clean exits as crashes if unexpected (see config/config.go:265)
integer
default:"60"
Seconds between crashes before auto-restart stops (see config/config.go:270)

Backup Configuration

Backup settings are defined in config/config.go:273-292.

Transfer Configuration

Console Throttling

Prevents console spam (see config/config.go:304).

Environment Variables

Wings supports environment variable expansion in configuration:

Token from Environment

Token from File

Systemd Credentials

Environment expansion is handled in config/config.go:844. The file:// prefix reads tokens from files.

Example Configurations

Validating Configuration

Test your configuration:

Troubleshooting

Ensure the config file exists:
Default location: /etc/pterodactyl/config.yml (see config/config.go:31)
Validate YAML syntax:
Check file permissions:

Next Steps

Panel Configuration

Configure the node in your Pterodactyl Panel