Add upgrade guides

This commit is contained in:
Dane Everitt 2018-07-22 22:39:15 -07:00
parent 2a3f6e4e85
commit 208bec591e
No known key found for this signature in database
GPG Key ID: EEA66103B3D71F53
6 changed files with 206 additions and 1 deletions

View File

@ -43,6 +43,7 @@ module.exports = {
children: [
'/panel/getting_started',
'/panel/webserver_configuration',
'/panel/upgrading',
]
},
{

View File

@ -5,5 +5,8 @@
"scripts": {
"build": "./node_modules/vuepress/bin/vuepress.js build",
"watch": "./node_modules/vuepress/bin/vuepress.js dev"
},
"devDependencies": {
"lodash": "^4.17.10"
}
}

105
panel/upgrade/0.6_to_0.7.md Normal file
View File

@ -0,0 +1,105 @@
# Upgrading 0.6 to 0.7
## Fetch Updated Files
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 in whatever
directory you are currently in.
``` bash
curl -L https://github.com/pterodactyl/panel/releases/download/v0.7.9/panel.tar.gz | tar --strip-components=1 -xzv
```
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.
``` bash
chmod -R 755 storage/* bootstrap/cache
```
## Clear Compiled Assets
Previous versions of Pterodactyl attempted to cache your configuration file for speed and performance enhancements. This
ended up just causing more headaches with minimal improvements in performance, so we decided to stop doing that. Running
the command below will clear the cached files for you so we can continue with upgrading.
::: tip
You probably only need to run this command once when upgrading from `0.6.X`. Once you're upgraded we don't cache the configuration
file so there is no reason to remove anything.
:::
``` bash
rm -rf bootstrap/cache/*
```
Once the configuration cache is removed, you'll need to clear the template cache to ensure users get the most recent
templates.
``` bash
php artisan view:clear
```
## Update Dependencies
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.
``` bash
composer install --no-dev --optimize-autoloader
```
## Update Environment
These scripts will display your current values in brackets. To keep the current values simply press enter and it will
continue without making any modifications.
::: tip
We've changed our recommended cache driver to be Redis, rather than Memcached. If you're using Memcached you can
continue doing so with no problems, however moving forward our installation documentation will only mention Redis.
:::
``` bash
php artisan p:environment:setup
php artisan p:environment:mail
php artisan p:environment:database
```
## Database Updates
::: warning Backup your databases
The upgrade from `0.6` to `v0.7` includes some rather significant database changes. While the migration utility is
able to handle everything for you, we still suggest taking a backup of your database before proceeding — just incase.
:::
::: warning
Running `db:seed` below will overwrite any changes you made to core Pterodactyl Nests, Eggs, or Egg Variables! This is
unavoidable, and this seeder must be run. To avoid this in the future, please create custom nests, or create custom
eggs for game variations.
:::
``` bash
php artisan migrate --force
php artisan db:seed --force
```
## Cleanup API Keys
A significant change is introduced in 0.7.0 that changes how API keys are used, stored, and validated. Due to this
change, all previously created keys will no longer function. In order to keep things cleaned up you'll want to remove
these orphaned keys. To do so, run the command below.
``` bash
php artisan p:migration:clean-orphaned-keys
```
Don't forget to create new keys for yourself, as well as let all of your users know they'll need to do so as well.
## Set Permissions
The last step is to set the proper owner of the files to be the user that runs your webserver. In most cases this
is `www-data` but can vary from system to system — sometimes being `nginx`, `apache`, or even `nobody`.
``` bash
# 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 *
```

60
panel/upgrade/0.7.md Normal file
View File

@ -0,0 +1,60 @@
# Upgrading 0.7 Series
This documentation covers the process for upgrading within the `0.7.X` series of releases. This means upgrading from
— for example — `0.7.3` to `0.7.9`. **Do not use this guide for upgrading from `0.6` or upgrading to `0.8`.**
## Fetch Updated Files
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.
``` bash
curl -L https://github.com/pterodactyl/panel/releases/download/v0.7.9/panel.tar.gz | tar --strip-components=1 -xzv
```
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.
``` bash
chmod -R 755 storage/* bootstrap/cache
```
## Update Dependencies
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.
``` bash
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.
``` bash
php artisan view:clear
```
## Database Updates
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.
``` bash
php artisan migrate --force
php artisan db:seed --force
```
## Set Permissions
The last step is to set the proper owner of the files to be the user that runs your webserver. In most cases this
is `www-data` but can vary from system to system — sometimes being `nginx`, `apache`, or even `nobody`.
``` bash
# 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 *
```

36
panel/upgrading.md Normal file
View File

@ -0,0 +1,36 @@
# Upgrading
Upgrading the Panel is a relatively simple process. Below you will find a list of articles that will walk you through
the upgrade process for each version of the software.
## Maintenance Mode
Whenever you are performing an upgrade you should be sure to place your Panel into maintenance mode. This will prevent
users from encountering unexpected errors and ensure everything can be upgraded before users being encountering
potentially new features.
``` bash
# Put the Panel into maintenance mode and deny user access
php artisan down
# Bring the Panel back up to receive connections.
php artisan up
```
## Restarting Queue Workers
After _every_ update you should restart the queue worker to ensure that the new code is loaded in and used.
``` bash
php artisan queue:restart
```
## Version Specific Guides
* [0.6.X to 0.7.9](/panel/upgrade/0.6_to_0.7.md)
* [0.7.X series](/panel/upgrade/0.7.md) <Badge text="current" vertical="middle"/>
* [0.7.X to 0.8.0](#) <Badge text="beta" type="warn" vertical="middle"/>
<style scoped>
.badge {
line-height: 16px;
margin-left: 0.5rem;
}
</style>

View File

@ -3462,7 +3462,7 @@ lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5:
lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"