You Will Need
- An Ubuntu server with root access - this tutorial assumes that the panel and Wings are running on the same machine. This means that OpenVZ or LXC-based servers, which will not work with Docker, cannot be used.
- Root access to the aforementioned server
- A computer with Internet access - required to SSH into the server and interact with the panel
Getting Started
:::info This tutorial uses Ubuntu 20.04 LTS as the base operating system and UFW as the firewall. PHP 8.1, MariaDB and Nginx will be used as the server stack. :::Installing Dependencies for the Panel
The following packages are required for the panel to work- PHP >=8.0 with the following extensions:
cli,openssl,gd,mysql,PDO,mbstring,tokenizer,bcmath,xmlordom,curl,zip,fpm - MySQL >=5.7.22 (8 recommended) or MariaDB >=10.2
- Redis
- A web server e.g Apache, Nginx, Caddy
- cURL
- tar
- unzip
- git
- composer v2
Downloading the Panel
Next, we need to download the latest version of the panel. Create the directory that the web server will use as the root for the panel.storage and bootstrap/cache directories
Configuring the Panel
Set up a database and user with permissions for the panel to access. For more detailed instruction, see this guide.Configuring the Environment
All it takes to configure the environment of the panel is a few more artisan commandsFilling the Database
This command will fill the database with all required data for the panel - including tables, nests and eggs.Do not exit this process until it is completed.
Creating the Administrator User
Run this interactive command to create an administrator user so you can log in to the panel.Passwords must be 8 characters, mixed case and have at least one number
Service Configuration
Queue Listeners
Pterodactyl uses queues to improve speed and handle background tasks. You’ll need to set up the queue worker to process these.Crontab
Add the following entry to your root crontab by openingsudo crontab -e
Systemd Service
To run your queue processes in the background, set up a systemd serviceConfiguring NGINX
This part assumes we are using Nginx with SSL enabled. To generate SSL certificates, we will be using ZeroSSL:panel.example.com with your own: