nextcloud-Snap mit Datenverzeichnis auf externer Festplatte

9

Ich habe nextcloud über diesen Link auf meinem raspberrypi 3 installiert . Alles funktioniert ziemlich gut, außer dass ich die UX nicht mag, wenn der gesamte zusätzliche Speicherplatz aus dem Add-In "Externer Speicher" stammt, da dies bedeutet, dass jetzt jeder wissen muss, dass alle seine Dateien in einem bestimmten Ordner abgelegt werden müssen .

Es scheint, als ob ich nextcloud nur anweisen sollte, die externe Festplatte als Speicherort für das Datenverzeichnis (ohne das externe Speicher-Add-In) zu verwenden, und alles wird gut und schön sein ... und theoretisch scheint das gut zu funktionieren . Da es jedoch als Snap installiert ist, scheint es, dass der Snap keinen Zugriff auf diesen Teil meines Dateisystems hat und daher nicht funktioniert.

Ich habe mich gefragt, ob jemand Vorschläge hat. Sollte ich die Festplatte im beschreibbaren Bereich des Druckknopfs montieren? Ist es möglich, dem Snap Zugriff auf die Festplatte zu gewähren?

Matt
quelle

Antworten:

13

Zunächst sollte ich wahrscheinlich erwähnen, dass dies kein wirkliches Support-Forum für den Nextcloud-Snap ist. Wenn Sie Probleme damit haben, können Sie einen Fehler dagegen protokollieren .

Das heißt, jemand hat es bereits getan, mit der hier gegebenen Lösung .

Um es hier kurz zusammenzufassen: Sie haben Recht, das sollte möglich sein, und das ist es auch. Standardmäßig hat der Nextcloud-Snap jedoch keine Berechtigung zum Zugriff auf Wechselmedien (wie in der README- Datei erwähnt ).

Die angegebenen Schritte sind also:

  1. Schließen Sie den removable-mediaStecker an : sudo snap connect nextcloud:removable-media.
  2. Durch das Verbinden dieser Schnittstelle erhält Nextcloud die Berechtigung, auf Objekte zuzugreifen /media/, sodass Sie diese bearbeiten /var/snap/nextcloud/current/nextcloud/config/config.phpund sicherstellen können , dass datadirectorysie auf die richtige Stelle zeigt.
  3. Deaktivieren Sie den Snap: sudo snap disable nextcloud
  4. Verschieben (oder kopieren) Sie das aktuelle Datenverzeichnis an den neuen Speicherort : sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Aktivieren Sie den Snap erneut : sudo snap enable nextcloud.

Jetzt müssen Sie sich nicht mehr um die externe Medienlösung kümmern: Alle Daten von Nextcloud werden dort sein.

Beachten Sie, dass dies nur die von Nextcloud gehosteten Rohdaten (z. B. Dateien) abdeckt. Die Datenbank und Apps sind noch in /var/snap/nextcloud/current/. Ich schlage vor, Sie lassen sie dort.

Kyle
quelle
Das hat super geklappt! Ich schwöre, ich habe ordentlich gesucht und Ihren verlinkten Beitrag nicht gefunden. Das Connect ... Wechselmedium ist das Stück, von dem ich nichts wusste; Das ist genau das, wonach ich gesucht habe und sehr hilfreich. Es scheint ein guter Einstieg für die Snapcraft-FAQ zu sein. Entschuldigung für die Veröffentlichung an der falschen Stelle. Das Platzieren eines Fehlerberichts schien albern, als ich keinen Fehler fand.
Matt
Oh, keine Entschuldigung nötig! Dies sollte wirklich in der README des Nextcloud-Snaps oder vielleicht in seinem Wiki behandelt werden.
Kyle
3
Eine andere Sache, die hier erwähnt werden muss, ist, dass es ein Berechtigungsproblem für Dateien geben kann, da der nextcloud-Server immer noch als root ausgeführt wird, während wir möglicherweise andere Berechtigungen für Dateien verwenden möchten (ich verwende nextcloud als syncthingFront-End). Um dies zu beheben, benutzte ich zunächst den Trick, einen sftpSpeicher hinzuzufügen , der auf den Server selbst verweist, und als gewünschter Benutzer darauf zuzugreifen , wobei ich 127.0.0.1als Host und den Dateieigentümer als Benutzer mit einem generierten SSH-Schlüssel verwendete. Dies war jedoch nicht die beste Wahl. Verwenden Sie bindfsstattdessen mit etwas wie bindfs --map=ubuntu/root:@ubuntu/@root, erledigt stattdessen den gewünschten Job.
Treviño
Nachdem ich das Verzeichnis verschoben habe, wurde "UniqueConstraintViolationException", "Message": "Beim Ausführen von" INSERT INTO oc_filecache... "ist eine Ausnahme aufgetreten . Ich hatte keine Dateien hinzugefügt, nur eine Neuinstallation des Snaps, die Administratorbenutzer und ein Login erstellt, bevor ich das Verzeichnis verschoben habe. Irgendeine Ahnung?
Giox
nextcloud snap + syncthing - bindfs Eintrag in fstab ist nur eine nachhaltige Art und Weise, wie ich diese Arbeit gemacht habe. Der Nextcloud-Snap, bei dem die Berechtigungen des tatsächlichen Benutzers nicht verwendet werden, ist schmerzhaft.
Jack Wasey
0

Verwenden Sie 'stop' anstelle von 'disable', da Sie sonst die Datei config.php nicht bearbeiten können.

  1. Aktivieren Sie den externen Speicher für snap: sudo snap connect nextcloud: Wechselmedien

  2. Stop nexcloud snap: sudo snap stop nextcloud

  3. Aktualisieren Sie den Speicherort: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

Datenort ändern:

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

  1. Verschieben Sie das Datenverzeichnis auf das Speichergerät: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Nextcloud snap starten: sudo snap start nextcloud

Jonathonp
quelle