Skip to content
Live $100 credit at signup, up to $300 total Offer ends December 31, 2026 Get started →

Pelican Panel

Pelican is a modern, open-source game server management panel and the spiritual successor to Pterodactyl. It provides a fast web interface for deploying and managing game servers, with per-server isolation handled by the Wings daemon. Pelican uses PHP and Laravel and ships a guided web installer.

ComponentVersion
Pelican Panel1.0.0_beta35
Pelican Wings1.0.0_beta26
PHP8.5
Ubuntu24.04 LTS

Wings and Docker are installed, but Wings does not start until you create a node in the Panel and save its generated configuration on the VM.

ssh ubuntu@<your-vm-ip>

Pelican configures MariaDB, writes its environment file, generates the Laravel application key, starts Nginx and PHP-FPM, and prepares Wings. Track progress with:

sudo journalctl -u pelican-first-boot.service -f

Then verify the Panel services:

systemctl status nginx php8.5-fpm mariadb

The installer is available through an SSH tunnel because HTTP is not open publicly by default. From your local machine, run:

ssh -L 8080:127.0.0.1:80 ubuntu@<your-vm-ip>

Then open:

http://127.0.0.1:8080/installer

Complete the installer and create your first administrator account. The image does not create shared default login credentials.

4. Enable scheduled tasks and the queue worker

Section titled “4. Enable scheduled tasks and the queue worker”

After the installer completes, enable Pelican’s scheduler and queue worker:

CRON="* * * * * php /var/www/pelican/artisan schedule:run >> /dev/null 2>&1"
sudo crontab -u www-data -l 2>/dev/null | grep -qF "$CRON" \
|| ( sudo crontab -u www-data -l 2>/dev/null; echo "$CRON" ) | sudo crontab -u www-data -
sudo systemctl enable --now pelican-queue

Create a node in the Pelican admin UI and save its generated Wings configuration as:

/etc/pelican/config.yml

Then start Wings:

sudo systemctl start wings
systemctl status wings
# Check Panel services and the queue worker
systemctl status nginx php8.5-fpm mariadb pelican-queue
# Restart the web services
sudo systemctl restart nginx php8.5-fpm
# View first-boot logs
sudo journalctl -u pelican-first-boot.service -f
# View Wings logs after configuring a node
sudo journalctl -u wings.service -f
PathPurpose
/var/www/pelican/Pelican application
/var/www/pelican/.envPanel environment configuration
/etc/pelican-panel/credentials.txtGenerated MariaDB details and Wings notes
/etc/pelican/config.ymlWings node configuration

Pelican listens behind Nginx on port 80, but UFW allows SSH (port 22) only by default. Ports 80, 443, 2022, and 8080 remain closed until you decide how to expose the Panel, Wings, and game-server allocations.

Use the SSH tunnel from the getting-started steps to complete the installer. To allow Panel access from a trusted IP after setup:

sudo ufw allow from <trusted-ip> to any port 80

For production use, point DNS at the VM, put the Panel behind a reverse proxy with a trusted TLS certificate, and update the application URL in /var/www/pelican/.env to the public HTTPS URL. Open Wings and game allocation ports only after you configure the node.

Last updated: