snap nextcloud avec répertoire de données sur le disque dur externe

9

J'ai installé nextcloud sur mon raspberrypi 3 en utilisant ce lien . Tout fonctionne plutôt bien sauf que je n'aime pas l'UX d'avoir tout l'espace de stockage supplémentaire provenant du complément "Stockage externe", car cela signifie que tout le monde doit maintenant savoir mettre tous ses fichiers dans un dossier désigné .

Il semble que je devrais juste être en mesure de dire à nextcloud d'utiliser le disque dur externe comme emplacement de répertoire de données (sans le complément de stockage externe) et tout ira bien ... et il semble qu'en théorie, cela fonctionne bien . Mais, comme il est installé comme un composant logiciel enfichable, il semble que le composant logiciel enfichable n'a pas accès à cette partie de mon système de fichiers et qu'il ne fonctionne donc pas.

Je me demandais si quelqu'un avait des suggestions. Dois-je monter le disque dur à l'intérieur de la zone d'écriture du composant logiciel enfichable? Est-il possible de donner l'accès instantané au disque dur?

Mat
la source

Réponses:

13

Tout d'abord, je devrais probablement mentionner que ce n'est pas vraiment un forum de support pour le composant logiciel enfichable Nextcloud. Si vous rencontrez des problèmes, vous pouvez enregistrer un bogue contre celui-ci .

Cela dit, quelqu'un l'a déjà fait, avec la solution donnée ici .

Pour résumer rapidement ici: vous avez raison, cela devrait être possible, et ça l'est. Cependant, par défaut, le composant logiciel enfichable Nextcloud n'est pas autorisé à accéder aux supports amovibles (comme mentionné dans son fichier README ).

Ainsi, les étapes données sont:

  1. Branchez le removable-mediaconnecteur: sudo snap connect nextcloud:removable-media.
  2. La connexion de cette interface donne à Nextcloud la permission d'accéder aux choses dans /media/, vous pouvez donc modifier /var/snap/nextcloud/current/nextcloud/config/config.phpet vous assurer que la datadirectorypointe vers le bon endroit.
  3. Désactivez l'accrochage: sudo snap disable nextcloud
  4. Déplacer (ou copier) le répertoire de données actuel vers le nouvel emplacement: sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Réactiver le composant logiciel enfichable: sudo snap enable nextcloud.

Maintenant, vous n'avez plus à vous soucier de la solution de support externe: toutes les données de Nextcloud seront là.

Notez que cela ne couvre que les données brutes (par exemple les fichiers) hébergées par Nextcloud. La base de données et les applications sont toujours en place /var/snap/nextcloud/current/. Je vous suggère de les laisser là.

Kyle
la source
Cela a très bien fonctionné! Je le jure, j'ai fait une quantité décente de recherche et je n'ai pas trouvé votre message lié. Le média connect-amovible est le morceau que je ne connaissais pas; c'est exactement ce que je cherchais et très utile. Cela semble être une bonne entrée pour la FAQ Snapcraft. Toutes mes excuses pour avoir affiché cela au mauvais endroit. Placer un rapport de bogue m'a semblé idiot quand je n'ai pas trouvé de bogue.
Matt
Oh pas d'excuses nécessaires! Cela devrait vraiment être couvert dans le README du composant logiciel enfichable Nextcloud, ou peut-être son wiki.
Kyle
3
Une autre chose à mentionner ici est qu'il pourrait y avoir un problème d'autorisation sur les fichiers car le serveur nextcloud fonctionne toujours en tant que root, alors que nous pourrions vouloir utiliser d'autres autorisations sur les fichiers (j'utilise nextcloud comme syncthingfrontal). Pour résoudre ce problème, au départ, j'utilisais l'astuce consistant à ajouter un sftpstockage pointant vers le serveur lui-même et à accéder en tant qu'utilisateur souhaité, en utilisant donc 127.0.0.1comme hôte et le propriétaire du fichier en tant qu'utilisateur avec une clé ssh générée. Mais ce n'était pas le meilleur choix. Utiliser à la bindfsplace avec quelque chose comme bindfs --map=ubuntu/root:@ubuntu/@root, fait à la place le travail souhaité.
Treviño
Après avoir déplacé le répertoire, j'ai obtenu "UniqueConstraintViolationException \", \ "Message \": \ "Une exception s'est produite lors de l'exécution de" INSERT INTO oc_filecache... ". Je n'y avais ajouté aucun fichier, juste une installation propre du composant logiciel enfichable, créé les utilisateurs admin et une connexion avant de déplacer le répertoire. Un indice?
Giox
nextcloud snap + syncthing - l'entrée de bindfs dans fstab n'est que la manière durable dont j'ai fait ce travail. Snap Nextcloud n'utilisant pas les autorisations de l'utilisateur réel est pénible.
Jack Wasey
0

Utilisez 'stop' au lieu de 'disable' sinon vous ne pourrez pas éditer config.php.

  1. Activer le stockage externe pour Snap: Sudo Snap Connect NextCloud: amovible-média

  2. Arrêter le snap de Nexcloud: sudo snap stop nextcloud

  3. Mettre à jour l'emplacement de stockage: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

changer l'emplacement des données:

'datadirectory' => '/ media / storage / data',

  1. Déplacez le répertoire de données vers le périphérique de stockage: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Démarrer le snap de nextcloud: sudo snap start nextcloud

jonathonp
la source