Skip to main content

Updating the Panel

This documentation covers the process for updating the panel portion of Pelican.

Version Requirements

Each version of Pelican Panel also has a corresponding minimum version of Wings that is required for it to run.

Please see the chart below for how these versions line up. In most cases your base Wings version should match that of your Panel.

Panel VersionWings VersionSupportedPHP Version
3.x3.x✅︎8.2/ 8.3

Enter Maintenance Mode

Whenever you are performing an update you should be sure to place your Panel into maintenance mode. This will prevent users from encountering unexpected errors.

cd /var/www/pelican
php artisan down

Download Update

The first step in the update process is to download the new panel files from GitHub. The command below will download the release archive for the most recent version of Pelican, save it in the current directory and will automatically unpack the archive into your current folder.

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

Once the archive is downloaded and extracted we need to set the correct permissions on the cache and storage directories to avoid any webserver related errors.

chmod -R 755 storage/* bootstrap/cache

Update Dependencies

composer install --no-dev --optimize-autoloader

Clear Compiled Template Cache

You'll also want to clear the compiled template cache to ensure that new and modified templates show up correctly for users.

php artisan view:clear
php artisan config:clear

Update Database

You'll also need to update your database schema. Running the command below will update the schema and ensure the default eggs we ship are up to date (and add any new ones we might have). Just remember, never edit core eggs we ship! They will be overwritten by this update process.

php artisan migrate --seed --force

Set Permissions

The last step is to set proper ownership of the files. In most cases this is www-data but can vary from system to system — sometimes being nginx, caddy, apache, or even nobody.

chown -R www-data:www-data /var/www/pelican/* 

Restart Queue Workers

After every update you should restart the queue worker.

php artisan queue:restart

Exit Maintenance Mode

Now that everything has been updated you need to exit maintenance mode.

php artisan up