Ciao, oggi vi spiegherò come generare anteprime su Nextcloud delle vostre foto in anticipo, per rendere l’esperienza d’uso più piacevole.

A cosa servono le anteprime?

Le anteprime, o thumbnail, sono delle versioni più piccole delle immagini che caricate su Nextcloud (qui la guida su come installare Nextcloud su Ubuntu). Le anteprime sono molto utili nella navigazione delle cartelle di Nextcloud. Facciamo un esempio: abbiamo caricato 200 foto nella cartella Londra su Nextcloud. Se non esistessero le anteprime e volessimo entrare nella cartella Londra, non potremmo vedere l’anteprima delle foto per capire al volo quale di questa vogliamo aprire.

Ma non vengono generate automaticamente?

Sì, è vero, ma… Nextcloud genera le anteprime solo nel momento in cui è necessario. Ad esempio quando entriamo in una cartella in cui sono state caricate diverse foto. Ma cosa succederebbe se entrassi nella cartella Parigi, la quale contiene più di 1000 foto? Nextcloud sarebbe costretto a generare più di 1000 anteprime al momento, e le anteprime verrebbero visualizzate lentamente una alla volta.

Ecco la soluzione!

La soluzione al problema è abbastanza semplice e richiede solo pochissimi comandi! Ci vieni in aiuto l’applicazione Preview Generator. Questa applicazione ci permette di generare le anteprime in anticipo e definire ogni quanto Nextcloud andrà a generarle per i nuovi files.

E ora ovviamente vi spiego come installarla e configurarla!

Prima di cominciare

Colleghiamoci in SSH, con l’utente root, sulla macchina dov’è installato Nextcloud.

Diamo il seguente comando per rendere eseguibile lo script occ che ci servirà più avanti (il percorso di installazione di Nextcloud può variare):

chmod +x /var/www/nextcloud/occ

Alcuni dettagli sulla generazione delle anteprime

Di default Nextcloud per ogni foto genera diverse anteprime ognuna con una diversa dimensione, per esempio se andate a vedere i file, per la visualizzazione a griglia, la visualizzazione a elenco o ancora la visualizzazione tramite l’app Foto, saranno mostrate anteprime di dimensioni tutte diverse.

Questo comporta il fatto che per ogni file vengono create diverse anteprime e di conseguenza la generazione di centinaia o migliaia di files comporta un certo utilizzo di spazio sul disco.

Esistono però dei parametri che è possibile definire per limitare la dimensione massima delle anteprime, o per quali file generarle. Per ulteriori dettagli vi invito a leggere la documentazione ufficiale di Nextcloud qui e qui.

Per esempio, per limitare la dimensione massima delle anteprime più grandi, che di default è 4096x4096 pixel, è possibile usare i seguenti comandi (ovviamente i valori sono in pixel).

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

Un altro parametro che è possibile configurare per ridurre le dimensioni delle anteprime, è la qualità delle stesse (di default è 90).

sudo -u www-data php /var/www/nextcloud/occ config:system:set jpeg_quality --value 60

NB: se non avete voglia di modificare i parametri, potete ovviamente lasciare tutto di default! Inoltre, per controllare i parametri appena impostati, basterà aprire il file config.php di Nextcloud.

Ecco come generare tutte le anteprime

Iniziamo accedendo a Nextcloud, clicchiamo sull’icona del nostro utente e poi su Applicazioni. Andiamo quindi nella sezione Multimedia e cerchiamo Preview Generator, infine clicchiamo sul bottone Scarica e abilita.

Bene, una volta installata l’app dovremo dare solo un comando da terminale per generare tutte le anteprime per le immagini già presenti, ma questo sarà fatto solo la prima volta. Vedremo più avanti come automatizzare il processo. Diamo il seguente comando per generare tutte le anteprime:

sudo -u www-data php /var/www/nextcloud/occ preview:generate-all -vvv

Il comando potrebbe durare da pochi secondi a diversi minuti in base al numero di foto presenti e alle risorse del sistema.

Pianificazione automatica

E ora vi spiego come pianificare la generazione delle anteprime usando cron, in modo che vengano generate tutte le anteprime periodicamente per le nuove immagini.

Aprite il crontab con il seguente comando:

crontab -u www-data -e

Inserite all’interno, nell’ultima riga, il seguente comando che avvierà la generazione delle nuove anteprime ogni 30 minuti (ovviamente è possibile impostarlo con maggiore o minore frequenza):

*/30 * * * * php /var/www/nextcloud/occ preview:pre-generate

Considerazioni finali

Ottimo! D’ora in poi vedrete che navigando su Nextcloud tutte le foto saranno molto più veloci ad aprirsi, in quanto Nextcloud avrà già pronte le anteprime per le immagini. Se non vedete miglioramenti per le nuove foto, significa che la pianificazione impostata sopra dev’essere ancora eseguita, quindi basterà aspettare.

In caso di dubbi o domande non esitate a commentare. Per altri dettagli potete guardare oltre alla documentazione ufficiale di Nextcloud linkata sopra, anche la pagina Github del progetto Preview Generator.