Le long travail sur la plateforme est toujours en cours. Il sâagit notamment des mises Ă jour des serveurs gitea et Nextcloud.
Gitea
Quelques jours aprÚs la migration vers le nouveau serveur, le serveur gitea a été mis à jour avec la derniÚre version disponible : 1.18.5
Cela devrait corriger les derniers problÚmes identifiés sur ce service.
En soit, cette mise Ă jour a Ă©tĂ© une formalitĂ©, entraĂźnant une sauvegarde supplĂ©mentaire en journĂ©e et une interruption de service de moins dâune minute.
Nextcloud
La version actuelle de Nextcloud nâest plus maintenu. Il nây aura donc plus de mise Ă jour, mais plus aucun changement dans les applications.
Il y a des conflits avec certaines applications Nextcloud qui gĂšrent mal le fait de ne pas ĂȘtre mise Ă jour. En fait, je pense que câest Nextcloud qui gĂšre cela malâŠ
Le plan de migration de Nextcloud est assez lourd, et plutĂŽt compliquĂ© lâautomatisation.
Dâabord, il y a un changement de stratĂ©gie. Depuis lâinstallation initiale, jâai mis en place un systĂšme dâinstallation dâune base logicielle LAMP (Linux, Apache, MySQL, PHP).
Câest donc tous le code dâinstallation qui est Ă revoir.
Par ailleurs, depuis la prĂ©cĂ©dente mise Ă jour de la base systĂšme, il sâest passĂ© pas mal de choses sur les paquets de base.
Voici les changements en cours de réalisation:
- Suppression du compte 'pi' sur la machine, il nâest mĂȘme plus crĂ©Ă©.
- De MySQL Ă MariaDB.
- De PHP 7.3 à PHP 8.0, idéalement PHP8.2.
- De Nextcloud 23.0.12 Ă Nextcloud 24.0.10 et ensuite vers 25.0.4 et plus.
- Dâune machine 32 bits avec 4 Go Ă une machine 64 bits et 8 Go de mĂ©moire.
- Double lâespace disque.
Mais il y a de nombreuses contraintes :
-
Actuellement les paquets Debian sâarrĂȘte Ă PHP 7.4, il faut donc utiliser des paquets externes. Je nâaime pas trop cette solution, puisquâil faut faire trĂšs attention Ă lâarrivĂ©e des paquets 8.x sur RaspiOSâŠ
-
La version Nextcloud 23.0.12 supporte au maximum la version PHP 8.0.
-
La migration MySQL Ă MariaDB a Ă©tĂ© faite, il y a plus de 3 ans et cela Ă dâailleurs coĂ»ter lâinstance, les fichiers ont Ă©tĂ© rĂ©cupĂ©rĂ©s, mais pas la configuration. Cependant, Ă lâĂ©poque, il sâagissait des paquets MySQL contenant le moteur MariaDB.
-
Cette migration utilisera les paquets MariaDB nativement, et tentera de faire disparaĂźtre le plus de liens possible Ă MySQL.
-
Autre changement et pas le moindre, la base de donnée actuelle est une base de donnée centralisée, cette migration (conformément au schéma LAMP) prévoit une base de donnée locale. Cela simplifiera et sécurisera les futures mise à jours.
-
On change de machine, compte tenu du volume de donnĂ©e, cela doit se faire sur plusieurs jours. Pour Ă©viter une interruption de service, elle est dĂ©jĂ en cours et une synchronisation des donnĂ©es entre la prochaine machine et la machine actuelle est Ă mettre en place. Jâai imaginĂ© deux stratĂ©gies possibles :
- Mettre Ă jour la base donnĂ©e et faire un rsync entre les disques (cela impose une configuration strictement identique entre les instances, et amĂšne pas mal de contraintes potentiels : mĂȘme URL (?) ,
- Faire uniquement un rsync en termes de synchronisation et faire une rĂ©paration de la structure disque dans la base de donnĂ©e⊠Cette solution, mĂȘme si elle sera sans doute plus longue Ă ma prĂ©fĂ©rence, puisquâil est ainsi possible de faire toutes les mises Ă jour souhaitĂ©es avant la mise en production.
Une instance de test avec les données réelles est maintenant disponible, elle est installée avec :
- PHP 8.0
- MariaDB 10.5
- Nextcloud 25.0.4
Elle contient les grosses nouveautĂ©s de Nextcloud HUB II et le passage en 64 permet lâinstallation de nouvelles applications.
Lors de la migration de ce service, le niveau dâautomatisation de lâinstallation/migration/mise-Ă -jour a Ă©tĂ© grandement augmentĂ©. La configuration a Ă©tĂ© beaucoup simplifiĂ©e et se base essentiellement sur du JSON.
Si tout ce passe bien sur cette instance les prochains jours, il est possible quâelle devienne lâinstance de production.
Il reste en particulier :
- à vérifier la gestion des sauvegardes.
- à corriger quelques erreurs résiduelles sur certains types de fichiers.
኿