Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Installing Pelican Panel on Ubuntu

profile picture
Author
Philipp Bornträger
Published
2025-06-12
Time to read
6 minutes reading time

Introduction

⚠️ Note: This tutorial only installs the web interface of Pelican Panel. To provision and manage actual game servers, you must also install Wings on your target machines.

Pelican Panel is a modern, open-source game server management panel designed for containerized environments. Built with Laravel and Docker, it provides a powerful web interface for deploying and managing game servers.

This guide explains how to install and configure Pelican Panel on a server running Ubuntu 24.04.

Prerequisites

  • A server with Ubuntu 24.04
  • Root or sudo privileges
  • A registered domain name pointing to the server’s IP address
  • Basic familiarity with Linux command-line operations

Example terminology

  • Username: holu
  • Domain: example.com

Step 1 - Update the System

Start by updating your package index and upgrading any existing packages:

sudo apt update && sudo apt upgrade -y

This ensures compatibility and applies security patches.

Step 2 - Install Required Software

  • Add the PHP Repository

    Add the ondrej/php PPA to access PHP 8.2 and related extensions:

    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt update

  • Install Required Packages

    Install NGINX, MySQL, PHP 8.2, and supporting modules required by Laravel:

    sudo apt install -y \
      nginx mysql-server sqlite3 \
      php8.2 php8.2-cli php8.2-common php8.2-mysql php8.2-sqlite3 php8.2-fpm \
      php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-curl php8.2-zip php8.2-gd php8.2-intl \
      curl git unzip software-properties-common

Step 3 - Configure MySQL

Secure the database server:

sudo mysql_secure_installation

Then create a database and user for Pelican:

sudo mysql -u root -p

Inside the MySQL shell:

Replace YourSecurePassword with a strong, unique password. You can generate one using openssl rand -base64 20.

CREATE DATABASE pelican;
CREATE USER 'pelicanuser'@'localhost' IDENTIFIED BY 'YourSecurePassword';
GRANT ALL PRIVILEGES ON pelican.* TO 'pelicanuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 4 - Install Docker

Pelican uses Docker to isolate game environments. Install Docker Engine and its dependencies as explained in the official Docker documentation:

Enable and start the Docker service:

sudo systemctl enable docker
sudo systemctl start docker

Optionally, add your user to the Docker group:

Replace holu with your actual username.

sudo usermod -aG docker holu

You may need to log out and back in for changes to take effect.

Step 5 - Install Composer

Composer is used to manage PHP dependencies. Install it globally:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Step 6 - Download and Install Pelican Panel

Create a directory and extract the panel files:

sudo mkdir -p /var/www/pelican
cd /var/www/pelican
curl -L https://github.com/pelican-dev/panel/releases/latest/download/panel.tar.gz | sudo tar -xzv

Install PHP dependencies:

sudo chown -R $USER:www-data /var/www/pelican
sudo chmod -R 775 /var/www/pelican
composer install --no-dev --optimize-autoloader

Step 7 - Configure the Application

Pelican provides an setup command:

php artisan p:environment:setup

Step 8 - Set Permissions

Ensure proper ownership and access permissions for Laravel to function correctly:

sudo chown -R www-data:www-data /var/www/pelican
sudo chmod -R 755 /var/www/pelican/storage /var/www/pelican/bootstrap/cache

Secure the environment file:

sudo chmod 640 /var/www/pelican/.env

Step 9 - Configure SSL with Certbot

Install Certbot via Snap to enable HTTPS:

sudo apt install snapd -y
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Obtain an SSL certificate for your domain:

sudo certbot --nginx -d example.com

Enable automatic certificate renewal:

sudo systemctl enable snap.certbot.renew.timer
sudo certbot renew --dry-run

Step 10 - Configure NGINX

Remove the default configuration:

sudo rm /etc/nginx/sites-enabled/default

Create a new configuration file:

sudo nano /etc/nginx/sites-available/pelican.conf

Paste the following, replacing example.com accordingly:

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    root /var/www/pelican/public;
    index index.php;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Enable the site and restart NGINX:

sudo ln -s /etc/nginx/sites-available/pelican.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Step 11 - Complete the Web Installer

Navigate to your domain in a browser:

https://example.com/installer

Follow the on-screen prompts to create an administrator account and complete the setup.

When it asks about the database information, use the information from step 3. In this example, we used:

  • Database Driver: MySQL
  • Database Name: pelican
  • Database Username: pelicanuser
  • Database Password: YourSecurePassword'

Conclusion

  • Ensure the following services are active and enabled:

    sudo systemctl status nginx
    sudo systemctl status php8.2-fpm
    sudo systemctl status docker
  • Consider securing your server with UFW:

    sudo apt install ufw
    sudo ufw allow OpenSSH
    sudo ufw allow 'Nginx Full'
    sudo ufw enable
  • Keep your system and Pelican Panel updated to receive security patches and new features.

References

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2025 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more