This upgrade guide is for upgrading from 0.7.X to 1.0.0. If you are trying to do an upgrade on a 1.0.X Panel please use this guide instead.
Release Candidate Stage
Please be aware that Pterodactyl 1.0 is currently a Release Candidate. This means that we still do not recommend it for heavy production use, but users comfortable handling occasional bugs and weird behavior are encouraged to make use of it in order to help us better test it.
No Downgrade Path
There have been a small number of individuals who have installed this release candidate and then requested support downgrading back to 0.7 because they were unhappy.
There is no officially supported downgrade pathway. DO NOT install this release candidate if you are not prepared to handle a few remaining bugs and a new UI, you will not receive any assistance with downgrading back to 0.7.
You'll want to put your Panel into maintenance mode by running the
down command below before starting. This
will prevent users from accessing the Panel during a period where things will be broken or not working correctly.
# Put the Panel into maintenance mode and deny user access php artisan down
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 Pterodactyl and save it in the current directory. Now is a good time
to ensure that you're in the
/var/www/pterodactyl directory as the command below will automatically unpack the archive
into your current folder.
We will also be deleting the
app/ directory. Because of the way we handle installations and upgrades deleted files
are not always detected properly, so simply uppacking over this location will result in some confusing behavior.
# Delete the app directory to ensure we start with a clean slate here. This will not affect any # of your settings or servers. curl -L -o panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v1.0.0-rc.6/panel.tar.gz rm -rf $(find app public resources -depth | head -n -1 | grep -Fv "$(tar -tf panel.tar.gz)") # Download the updated files and delete the archive file. tar -xzvf panel.tar.gz && rm -rf panel.tar.gz
Once all of the files are downloaded 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
After you've downloaded all of the new files you will need to upgrade the core components of the panel. To do this, simply run the commands below and follow any prompts.
composer install --no-dev --optimize-autoloader
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
You'll also need to update your database schema for the newest version of Pterodactyl. Running the two commands 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 --force php artisan db:seed --force
The last step is to set the proper owner of the files to be the user that runs your webserver. In most cases this
www-data but can vary from system to system — sometimes being
apache, or even
# If using NGINX or Apache (not on CentOS): chown -R www-data:www-data * # If using NGINX on CentOS: chown -R nginx:nginx * # If using Apache on CentOS chown -R apache:apache *
We've deprecated the old Node.js daemon in favor of Wings, our new server control plane written in Go. This new system is significantly faster, easier to install, and much smaller. All you need to do is install a single binary on your system and configure it to run on boot.
You cannot use the old daemon to run servers with Pterodactyl Panel 1.0.
Please see Migrating to Wings for instructions.
Now that the upgrade is complete, exit maintenance mode and your Panel will now be available.
# Bring the Panel back up to receive connections. php artisan up