3.6 KiB
3.6 KiB
Updating UNIT3D
Update UNIT3D and its dependencies following the steps below.
1. Create Backup
UNIT3D offers built-in backups. Refer to the Backups documentation for usage.
[!IMPORTANT]
Ensure you have a complete backup before proceeding.
2. Enter Maintenance Mode
cd /var/www/html
php artisan down
3. Update Meilisearch
- Stop the service and install the latest Meilisearch:
sudo apt update
sudo apt upgrade
sudo systemctl stop meilisearch
sudo curl -L https://install.meilisearch.com | sudo sh
sudo mv ./meilisearch /usr/local/bin/
sudo chmod +x /usr/local/bin/meilisearch
sudo rm -rf /var/lib/meilisearch/data
- Restart Meilisearch:
sudo chmod +x /usr/local/bin/meilisearch
sudo systemctl start meilisearch
4. Update PHP
- Refer to the Upgrading PHP Version documentation.
5. Update UNIT3D
- Proceed to update UNIT3D after completing the PHP upgrade steps:
cd /var/www/html
php artisan git:update
During the update, UNIT3D prompts for action on file differences. Copy the latest backup to ~/tempBackup
before starting. After the update, review ~/tempBackup/fileConflicts.txt
for conflicts.
6. Database Migration Fix
During the update, an error related to the tickets
table may occur:
2025_02_17_074140_update_columns_to_boolean ......................................................................................... 38.50ms FAIL
In Connection.php line 825:
SQLSTATE[22004]: Null value not allowed: 1138 Invalid use of NULL value (Connection: mysql, SQL: alter table `tickets` modify `staff_read` tinyint(1) not null default '0')
In Connection.php line 571:
SQLSTATE[22004]: Null value not allowed: 1138 Invalid use of NULL value
Resolve Null
values in tickets
table:
- Log in to MySQL:
mysql -u your_username -p
Enter the MySQL password when prompted. After logging in, select the appropriate database by running:
USE your_database_name;
- Fix the Null Values:
Update NULL
entries in the staff_read
column to 0
by running the following SQL command:
UPDATE tickets SET staff_read = 0 WHERE staff_read IS NULL;
- Exit MySQL:
exit;
- Complete migrations:
php artisan migrate
7. Final Reset & Cleanup
- Clear caches, reinstall dependencies, rebuild assets, and restart services after updating and migrating.
sudo -u www-data composer install --prefer-dist --no-dev -o && \
sudo php artisan cache:clear && \
sudo php artisan queue:clear && \
sudo php artisan auto:email-blacklist-update && \
sudo php artisan auto:cache_random_media && \
sudo php artisan set:all_cache && \
bun install && \
bun run build && \
sudo php artisan migrate && \
sudo systemctl restart php8.4-fpm && \
sudo php artisan queue:restart && \
sudo supervisorctl reread && \
sudo supervisorctl update && \
sudo supervisorctl reload && \
sudo php artisan scout:sync-index-settings && \
sudo php artisan auto:sync_torrents_to_meilisearch --wipe && \
sudo php artisan auto:sync_people_to_meilisearch
- Resume normal site functionality:
sudo php artisan scout:sync-index-settings && \
sudo php artisan auto:sync_torrents_to_meilisearch --wipe && \
sudo php artisan auto:sync_people_to_meilisearch && \
sudo php artisan set:all_cache && \
sudo systemctl restart php8.4-fpm && \
sudo php artisan queue:restart && \
sudo php artisan up