Si vous avez une instance Nextcloud avec beaucoup d'images, il est possible que l'application Photos soit extrêmement lente, que se soit depuis un navigateur ou l'application mobile. Nous allons voir dans cet article comment corriger ces lenteurs.
Prérequis
Il est nécessaire d'avoir une instance Nextcloud fonctionnelle.
Disposer des droits d'administrations sur l'instance.
Un compte avec les droits root sur la machine pour réaliser la configuration et la mise en place des tâches planifiées.
Procédure
/!\ Attention /!\ Les commandes sont à adapter suivant votre environnement
Dans mon exemple, l'instance est installée dans /var/www/nextcloud et l'utilisateur utilisé par le serveur web est www-data
1) Se connecter sur l'instance Nextcloud avec un compte administrateur
2) Installer l'application Preview Generator par Roeland Jago Douma Sous licence AGPL
3) Se connecter en SSH sur le serveur hébergeant l'instance Nextcloud
4) Configurer l'application Preview Generator avec les commandes suivantes
# sudo -u www-data php /var/www/nextcloud/occ config:app:set previewgenerator squareSizes --value="32 256" # sudo -u www-data php /var/www/nextcloud/occ config:app:set previewgenerator widthSizes --value="256 384" # sudo -u www-data php /var/www/nextcloud/occ config:app:set previewgenerator heightSizes --value="256" # sudo -u www-data php /var/www/nextcloud/occ config:system:set preview_max_x --value 2048 # sudo -u www-data php /var/www/nextcloud/occ config:system:set preview_max_y --value 2048 # sudo -u www-data php /var/www/nextcloud/occ config:system:set jpeg_quality --value 60 # sudo -u www-data php /var/www/nextcloud/occ config:app:set preview jpeg_quality --value="60"
5) Maintenant, il est nécessaire de générer les aperçus des images. C'est cette étape qui va permette d'améliorer les performances de votre instance Nextcloud
/!\ Attention /!\ Cette première exécution peut être très longue si vous avez beaucoup d'images
# sudo -u www-data php /var/www/nextcloud/occ preview:generate-all -vvv
6) Pour finir, il faut configurer une tâche cron pour générer les miniatures régulièrement
# sudo -u www-data crontab -e
Ajouter la ligne suivante pour générer les miniatures toutes les 5 minutes (à adapter suivant vos besoins)
*/5 * * * * php -f /var/www/nextcloud/occ preview:pre-generate