Updating the Panel
Update Pterodactyl Panel to a newer 2.x release.
Introduction
This guide updates the Panel from one 2.x release to a newer 2.x release, such as from 2.0.0 to 2.0.1.
Coming from 1.x?
These steps do not upgrade a 1.x Panel. To move from 1.x to 2.0, follow Upgrading From 1.x.
Before you update, check the release notes for any new requirements, and make sure you meet the requirements. Always keep a recent backup of your database and your .env file.
Update Steps
Enter Maintenance Mode
Put the Panel into maintenance mode, so that users do not see errors while it updates:
cd /var/www/pterodactyl
php artisan downDownload the Update
Download the new release and unpack it over the current files. Replace <version> with the release you are updating to:
curl -L https://github.com/pterodactyl/panel/releases/download/<version>/panel.tar.gz | tar -xzv
chmod -R 755 storage/* bootstrap/cacheUpdate Dependencies
Install the PHP dependencies for the new release:
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloaderClear Cached Files
Clear the compiled views and cached configuration, so that the new release's versions are used:
php artisan view:clear
php artisan config:clearUpdate the Database
Update the database and the default eggs:
php artisan migrate --seed --forceThe seeder replaces the default eggs that ship with the Panel with their latest versions. Do not edit the default eggs; copy them instead, or your changes will be overwritten.
Set Permissions
Give the web server user ownership of the files again:
chown -R www-data:www-data /var/www/pterodactyl/*Restart the Queue Worker
Restart the queue worker, so that it runs the new code:
php artisan queue:restartExit Maintenance Mode
Finally, bring the Panel back online:
php artisan upUpdating With One Command
The p:upgrade command runs all of the steps above for you. Pass the release you want to install:
php artisan p:upgrade --release=<version>Without --release, the command downloads the latest release. The command asks you to confirm the web server's user and group before it starts. Pass --user and --group to skip those questions.