how to install pterodactyl on dedicated server or in vps

🐦 pterodactyl-installer

Unofficial scripts for installing Pterodactyl Panel & Wings. Works with the latest version of Pterodactyl!

Read more about Pterodactyl here. This script is not associated with the official Pterodactyl Project.


  • Automatic installation of the Pterodactyl Panel (dependencies, database, cronjob, nginx).
  • Automatic installation of the Pterodactyl Wings (Docker, systemd).
  • Panel: (optional) automatic configuration of Let's Encrypt.
  • Panel: (optional) automatic configuration of firewall.

Help and support

For help and support regarding the script itself and not the official Pterodactyl project, you can join the Discord Chat.

Supported installations

List of supported installation setups for panel and Wings (installations supported by this installation script).

Supported panel operating systems and webservers

Operating System Version nginx support PHP Version
Ubuntu 14.04 πŸ”΄  
  16.04 πŸ”΄ *  
  18.04 βœ… 8.0
  20.04 βœ… 8.0
Debian 8 πŸ”΄ *  
  9 βœ… 8.0
  10 βœ… 8.0
  11 βœ… 8.0
CentOS 6 πŸ”΄  
  7 βœ… 8.0
  8 βœ… 8.0

Supported Wings operating systems

Operating System Version Supported
Ubuntu 14.04 πŸ”΄
  16.04 πŸ”΄ *
  18.04 βœ…
  20.04 βœ…
Debian 8 πŸ”΄
  9 βœ…
  10 βœ…
  11 βœ…
CentOS 6 πŸ”΄
  7 βœ…
  8 βœ…

* Ubuntu 16 and Debian 8 no longer supported since Pterodactyl does not actively support it.

Using the installation scripts

To use the installation scripts, simply run this command as root. The script will ask you whether you would like to install just the panel, just Wings or both.

bash <(curl -s

Note: On some systems, it's required to be already logged in as root before executing the one-line command (where sudo is in front of the command does not work).

Here is a YouTube video that illustrates the installation process.

Firewall setup

The installation scripts can install and configure a firewall for you. The script will ask whether you want this or not. It is highly recommended to opt-in for the automatic firewall setup.

Development & Ops

Testing the script locally

To test the script, we use Vagrant. With Vagrant, you can quickly get a fresh machine up and running to test the script.

If you want to test the script on all supported installations in one go, just run the following.

vagrant up

If you only want to test a specific distribution, you can run the following.

vagrant up  

Replace name with one of the following (supported installations).

  • ubuntu_focal
  • ubuntu_bionic
  • debian_bullseye
  • debian_buster
  • debian_stretch
  • centos_8
  • centos_7

Then you can use vagrant ssh  to SSH into the box. The project directory will be mounted in /vagrant so you can quickly modify the script locally and then test the changes by running the script from /vagrant/ and /vagrant/ respectively.

Creating a release

There are a couple of files that each release commit should always change. Firstly, update the so that the release date and release tag are both displayed. No changes should be made to the changelog points themselves. Secondly, update GITHUB_SOURCE and SCRIPT_RELEASE in both and Thirdly, update SCRIPT_RELEASE in Finally, you can now push a commit with the message Release vX.Y.Z. Create a release on GitHub. See this commit for reference.

When the release is published, push another commit which revers the changes you made to and See this commit for reference.


                this article was copied from the website:
                source and copyright by: vilhelmprytz

test avatar image
Bruno Ribeiro

We are prepared to help and look for solutions to your problems, We are dedicated and love what we doπŸ˜‰

Join other players on