SeAT 4.x to 5.0 (Bare metal)¶
The upgrade path from SeAT 4.0 to SeAT 5.0 requires a tiny amount of manual work.
Warning
Before you do anything, read and understand this entire upgrade guide.
Those instructions are valid for bare metal deployment only (non-docker installation). Please refer to docker instructions for a Docker installation.
Remember to do a complete backup of your current database making a copy off the server where SeAT runs together with the .env
file. Both of these are the only things required to rebuilt your instance in case of failure.
Info
Before starting the upgrade, pay check the plugins you may be using and ensure that they are compatible with SeAT 5. If you are unsure, join us on Discord so that we can assist or redirect you to the proper person.
Requirements¶
- Check [SeAT 5.0 requirements]
- A database backup is an absolute must. Everything in SeAT can be recovered in some way or form except for your database.
- Enough storage space to have SeAT 5, SeAT 4 and a backup of your SeAT 4 database.
- Ensure all your SeAT 4 packages are up-to-date (check this in Settings > SeAT Settings)
Upgrade Procedure¶
Preparation¶
If users are using your SeAT instance, or the workers are churning away in the background, then you may risk losing some information (although unlikely) - or cause crash during database conversion. Please start to turning SeAT in maintenance mode, cutting jobs and clearing caches before starting the upgrade.
Turn workers down, use the command
Put SeAT in maintenance mode
Clear cache
Backups¶
- Make a backup of your SeAT database and store it somewhere safe! Do no skip this step!
- In your SeAT directory, make a copy of the
.env
file. This file contains all your SeAT configuration, including the keys to the ESI tokens required to update your registered users content. These values might be useful in case of failure.
Installing SeAT 5.0¶
Rename the current SeAT directory from /var/www/seat
to /var/www/seat4
.
You don't have to update any config since we will only use the command line for the process.
PHP¶
SeAT 5 needs PHP 8.2 on the server. The provided command bellow will help you in this task and add newly required PHP extensions in the meantime.
Remember to update your NGinX configuration to use the new CGI version. To do so, open configuration file located at /etc/nginx/sites-available/seat
and replace
with
Restart nginx to load the changes:
SeAT¶
Once packages have been updated, we will deploy the new SeAT's version using composer.
Once the download is done, you should have seen output such as:
Finally, fix directories permissions using the two commands bellow:
Setup¶
Now sources have been deployed, we have to update .env
configuration file.
Use information from backup located at /var/www/seat4/.env
to update the newly generated file located at/var/www/seat/.env
.
Info
In case you had third party packages installed, it's time to deploy them back. We invite you to report to their own documentation regarding any specific guideline.
Warning
Please pay special attention to APP_KEY, APP_URL, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD, EVE_CLIENT_ID, EVE_CLIENT_SECRET and EVE_CALLBACK_URL parameters.
Database¶
We will convert database to work with new SeAT version. To do so, we're using common commands disclosed bellow:
Complete¶
Finally, restore workers states and put SeAT online using initial commands in reverse order.
Put SeAT online
Turn workers up