pterodactyl-installer

Pterodactyl Installer

Automated installer for Pterodactyl Panel and Wings.

Supported operating systems

OS Version
Debian 11 (Bullseye), 12 (Bookworm), 13 (Trixie)
Ubuntu 22.04 (Jammy), 24.04 (Noble)

Requirements

Install

curl -sSL pterodactyl.2hoch1.dev/get.sh | sudo bash

Or directly from GitHub without the custom domain:

curl -sSL https://raw.githubusercontent.com/2hoch1/pterodactyl-installer/main/get.sh | sudo bash

Both commands run the same get.sh script which auto-detects the CPU architecture (amd64 or arm64), verifies the SHA256 checksum of the binary, and then runs it.

Non-interactive install

Pass --yes (or -y) to skip all prompts and read config from environment variables. Useful for CI pipelines and automated provisioning.

PANEL_DOMAIN=panel.example.com \
LE_EMAIL=you@example.com \
curl -sSL pterodactyl.2hoch1.dev/get.sh | sudo bash -s -- --yes
Variable Required Default Description
PANEL_DOMAIN Yes - Panel domain (no https://)
LE_EMAIL Yes - Let’s Encrypt email
DB_PASSWORD No auto-generated MariaDB password
TIMEZONE No Europe/Berlin PHP timezone identifier
WINGS_DOMAIN No server hostname Wings FQDN; omit to use hostname -f
NO_WINGS No - Set to 1 to skip Wings installation

What gets installed

Component Details
PHP 8.3 Sury repo (Debian), Ondrej PPA (Ubuntu 22), native (Ubuntu 24)
MariaDB Panel database
Redis Cache, session, queue
NGINX Webserver with TLS
Certbot Let’s Encrypt SSL
Composer PHP dependency manager
Docker Required for Wings
Wings Pterodactyl node daemon (optional)

Prompts

Prompt Default Notes
Operating system auto-detected Debian 11/12/13 or Ubuntu 22/24
Panel domain - Must have DNS pointed here
Wings FQDN server hostname This node, custom FQDN, or skip
MariaDB password auto-generated Shown before prompt
Let’s Encrypt email - Required for SSL cert
Timezone Europe/Berlin PHP timezone identifier
Admin user(s) optional Create one or more, or skip

After install

The installer automatically creates the Wings node via the panel API and starts the Wings service. If automatic configuration fails for any reason, the installer prints manual fallback instructions:

  1. Log into the panel and go to Admin > Nodes > Create New
  2. Set the FQDN to the Wings hostname, enable SSL
  3. On the node’s Configuration tab, generate a token and run it on the server
  4. Start Wings: sudo systemctl enable --now wings

Notice

This CLI tool contains a few vibe‑coded sections. Please use it at your own risk until the full rewrite is finished.