Skip to main content
To install Pelican Panel on Ubuntu 24.04, install PHP 8.5 with the required extensions, Nginx and Composer, download panel.tar.gz to /var/www/pelican, run composer install and php artisan p:environment:setup, then finish in the web installer at https://panel.example.com/installer. Add the cron job and pelican-queue worker it shows, then install Docker and Wings, which runs the game servers. FREAKHOSTING also offers managed game servers on its Game Panel if you’d rather not run a panel yourself: see how to log in to the Game Panel.

What is Pelican Panel?

Pelican is a free, open-source game server control panel. Its documentation says it started as a fork of Pterodactyl and adds plugins, admin roles, passkeys and a web installer. It has two parts: the Panel, the PHP website you log in to, and Wings, the daemon that runs each game server in its own Docker container. This guide puts both on one server. At the time of writing, the latest Panel release on GitHub is v1.0.0-rc.2, a release candidate, and Wings is v1.0.0-rc.1. Pelican supports only the latest release, so keep both updated. Already running Pterodactyl? Use Pelican’s migration guide instead of a fresh install.

Before you start

  • Use Ubuntu 24.04 on a fresh server. Nginx takes ports 80 and 443. Commands use sudo; root users can leave it out. Prefer Pterodactyl? See install Pterodactyl Panel.
  • Point a domain such as panel.example.com at the server with an A record. See point a domain to your server. Pelican’s docs note that IP addresses can’t be used with SSL.
  • Check the virtualisation type. Run systemd-detect-virt. kvm or none (bare metal) works. Pelican’s docs say OpenVZ and LXC usually can’t run Wings.
  • Take a snapshot or backup if the server already holds data. See schedule and restore backups.

Step 1: Install PHP, Nginx and Composer

Ubuntu 24.04 ships PHP 8.3, but Pelican needs PHP 8.5 (recommended) or 8.4. Pelican’s PHP guide uses the ppa:ondrej/php repository:
These are the extensions Pelican requires. The web installer checks them again.

Step 2: Download the panel

Don’t run composer update, even if Composer says dependencies are outdated. Pelican’s docs warn against it.

Step 3: Create the environment and set permissions

1

Create the .env file and app key

This creates .env and generates APP_KEY if they don’t exist.
2

Back up APP_KEY

Store the line off the server, for example in a password manager. Without it, encrypted data such as API keys can’t be recovered, even from a database backup.
3

Set permissions

Step 4: Set up Nginx with HTTPS

1

Get a certificate

See get a free SSL certificate with Certbot if this fails.
2

Create the site

Remove the default site with sudo rm /etc/nginx/sites-enabled/default. Copy the Nginx https configuration from Pelican’s webserver page into /etc/nginx/sites-available/pelican.conf and replace every <domain> with panel.example.com. It sets root /var/www/pelican/public, passes PHP to unix:/run/php/php8.5-fpm.sock and loads the certificate from /etc/letsencrypt/live/panel.example.com/.
3

Fix the HTTP/2 line on Ubuntu 24.04

Ubuntu 24.04 ships Nginx 1.24, which doesn’t know the http2 on; directive in Pelican’s file (added in Nginx 1.25.1). Delete the http2 on; line and change the listen line to:
4

Enable it

Step 5: Run the web installer

Open https://panel.example.com/installer. The wizard checks requirements, then asks for:
  • Environment: the panel name, the URL (https://panel.example.com) and your admin user.
  • Database: SQLite is the installer’s recommendation. For MySQL or MariaDB, read Pelican’s MySQL guide first.
  • Eggs: the game templates to install.
  • Cache, Queue and Session drivers: the installer recommends Filesystem, Database and Filesystem or Database, none of which need Redis.
On the Queue step, run the two commands it shows before you tick I have done both steps below:
The second command creates and starts the pelican-queue systemd service. Click Finish to log in.

Step 6: Install Docker and Wings

1

Install Docker

Follow install Docker. Wings needs Docker CE.
2

Download Wings

3

Create a node

In the admin area (https://panel.example.com/admin), open Nodes and create a node. Use panel.example.com as the Domain Name, so Wings uses the same certificate. Keep SSL on (it’s required when the panel uses HTTPS), the port 8080 and the SFTP Port 2022.
4

Add the configuration

Open the node’s Configuration File tab and paste its contents into /etc/pelican/config.yml, or copy the Auto Deploy Command and run it.
5

Test Wings

The first start can take a few minutes. When it runs without errors, stop it with Ctrl+C.
6

Run Wings as a service

Create /etc/systemd/system/wings.service:
7

Add allocations

Allocations are the IP and port pairs game servers use. On the node’s Allocations tab, click Create Allocation, pick your public IP (for example 203.0.113.10) and enter ports such as 25565-25570.

Which ports to open

Allow SSH before you run ufw enable, or you lock yourself out. If that happens, use the VNC console. See set up a firewall with UFW.
Certbot renews the certificate automatically, but Wings only loads a new one on restart. Pelican’s SSL guide adds this line with sudo crontab -e:

How to check it worked

Both show active (running). When Wings is reachable, https://panel.example.com:8080 returns {"error" : "The required authorization heads were not present in the request."} in a browser. A test server created under Servers installs and starts.

Frequently asked questions

Why does my node show as unreachable?

The panel or your browser can’t reach Wings. Check systemctl status wings, that port 8080 is open, and that the node domain has a valid certificate when the panel uses HTTPS.

Why are schedules stuck on Processing?

The queue worker or cron job isn’t running. Check systemctl status pelican-queue and sudo crontab -l -u www-data. Recreate the service with sudo php /var/www/pelican/artisan p:environment:queue-service --overwrite.

Can Wings run on a different server from the panel?

Yes. Install only Docker and Wings on the second server, create a node for it with its own domain and certificate, and open ports 8080, 2022 and its allocations there.

VPS and dedicated server guides

Every guide in this section.

Install Pterodactyl Panel

The panel Pelican was forked from.

Install Docker

Wings needs Docker CE.

Get a free SSL certificate

Certbot and automatic renewal.

Set up a firewall with UFW

Open only the ports you use.

Host game servers with LinuxGSM

A lighter, command-line option.

Checked against the official Pelican documentation and the Pelican Panel and Wings source on 5 November 2026; Nginx configuration syntax-tested and Wings service file verified on Ubuntu 24.04 LTS. Commands can differ on other distributions or releases.

Need Extra Help?

If you encounter any issues, our support team is ready to assist:

Save on Your Hosting

Ready to upgrade your hosting? Use code KB20 at checkout for 20% off your first order!

Last Updated: November 2026