Panel

Updating the Panel

Update Pterodactyl Panel to a newer 2.x release.

Introduction

This guide updates the Panel within 2.x, 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 new requirements and make sure you meet the requirements. Always keep a recent backup of your database and .env file.

Update Steps

Enter Maintenance Mode

Enter maintenance mode so users do not see errors during the update:

cd /var/www/pterodactyl
php artisan down

Download the Update

Download the release and unpack it over the current files. The releases page lists every 2.0 version; change the version in the link to update to another one.

curl -L https://github.com/pterodactyl/panel/releases/download/v2.0.0-beta.2/panel.tar.gz | tar -xzv
chmod -R 755 storage/* bootstrap/cache

Update Dependencies

Install PHP dependencies:

COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader

Clear Cached Files

Clear compiled views and cached configuration:

php artisan view:clear
php artisan config:clear

Update the Database

Update the database and the default eggs:

php artisan migrate --seed --force

The seeder replaces the default eggs with their latest versions. Do not edit the default eggs; copy them instead, or your changes are 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 it runs the new code:

php artisan queue:restart

Exit Maintenance Mode

Bring the Panel back online:

php artisan up

Updating With One Command

Not until 2.0 is released

p:upgrade only installs releases, and 2.0 has none yet. Without --release it downloads the latest release, which is 1.x, and breaks a 2.0 Panel. Use the manual steps above.

p:upgrade runs all of the steps above. Pass the release to install:

php artisan p:upgrade --release=<version>

Without --release, it downloads the latest release. It asks you to confirm the web server's user and group before it starts; pass --user and --group to skip the questions.

Edit on GitHub

Last updated on

On this page