Comment rafraîchir / faire un rescan de la base de donnée NextCloud via Docker

Contexte

J’avais installé NextCloud une première fois sur mon serveur et je l’utilisais avec ma famille, il y avait donc les images et vidéos de chaque utilisateurs.
Un jour mon serveur a déconné et j’ai gagné du temps à carrément le réinstaller de A à Z.
Bref, j’ai donc réinstallé NextCloud (j’avais fait une backup, je ne suis pas fou :p).

Problème

Quand tu mes les dossiers (photos, vidéos etc..) dans le dossier files des utilisateurs sans passer par NextCloud (en utilisant du FTP par exemple), NextCloud ne le prend pas compte et ne les affichent pas.
Sans parler du fait qu’il interdit d’avoir deux dossiers avec le même nom (logique) ça peut poser problème car bien qu’il ne les voient pas, il sait qu’ils sont là.

Solution

Première étape, si tu avais un utilisateur “Bob” par exemple, tu le créer depuis le compte admin.
ça va donc créer un dossier à son nom dans le répertoire qui contient les données de /data que tu as choisis lorsque tu as lancé le container.

Exemple :

      – /ton/chemin/data:/data

Tu lui donnes maintenant les dossiers/fichiers qui lui appartiennent.
En effet, NextCloud ne les voient pas mais il sait qu’ils sont là, on a plus qu’à rafraîchir la base de donnée pour qu’ils soient visibles.

Trouver le chemin du fichier occ NextCloud

On va avoir besoin de savoir son emplacement plus tard.
D’après la doc officielle : https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html

Il se trouve dans /var/www/nextcloud
Mais personnellement il ne se trouvait pas là donc la commande suivante permet de le retrouver.

Changez bien nom_de_ton_container_nextcloud par le nom de votre container.

docker exec -it nom_de_ton_container_nextcloud find / -name occ

Les erreurs “Permission denied” on s’en fiche, les URL apparaissent tout en bas.
Personnellement j’utilise /app/www/public/occ

Connexion au container Docker

Dans la commande, le -u 911 permet de se connecter en tant qu’utilisateur 911, c’est ce qui m’a été demandé dans les logs pour exécuter la commande occ.

Changez bien nom_de_ton_container_nextcloud par le nom de votre container.

docker exec -u 911 -it nom_de_ton_container_nextcloud /bin/bash

Rafraîchir la base de données NextCloud

NextCloud met à notre disposition le fichier occ pour ce genre de cas, il suffit de faire la commande suivante :

Bien évidemment, remplacez le chemin /app/www/public/occ par votre chemin à vous.

php /app/www/public/occ files:scan –all

Cette commande rafraichis la base de données en fonction des fichiers présents pour chaque utilisateurs.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *