(Zurück zum Inhaltsverzeichnis)
Letzte Änderung: 01.12.2021
Achtung, für die arm64-Version bitte zuerst Beitrag #2 lesen, kann eine Menge Arbeit ersparen.
Achtung, für die armhf-Version bitte zuerst Beitrag #9 lesen, erspart auch eine Menge Arbeit (Danke an slntwater )
Die Idee
Ich war auf der Suche nach einem Nextcloud-Client für den Raspberry.
So etwas wie die Nextcloud-App fürs Smartphone, aber für den Raspberry.
Das hin- und herkopieren mittels mc, ssh und Upload mittels Browser geht zwar so einigermassen,
aber etwas mehr Komfort war schon wünschenswert, besonders wenn eine Cloud bereits läuft.
Zudem existiert bereits ein Nextcloud-Client für die armhf-Architektur, die Installation ist aber etwas haklig.
Das hier ist eine Mitschrift über eine Installation dieses Clients auf einen Raspberry4 mit 4GB, der von einer 120G-Platte bootet (Buster 2020-02-13).
Auf der Suche nach Installationsfiles
Ein apt search nextcloud ergab zwar ein paar installierbare Files:
apt search nextcloud
Sortierung... Fertig
Volltextsuche... Fertig
caja-nextcloud/stable 2.5.1-3+deb10u1 all
Nextcloud integration for Caja
deja-dup/stable 38.3-1 armhf
Backup utility
kookbook/stable 0.2.1-1 armhf
simple recipe manager taking structured markdown for recipes
kopano-webapp-files/stable 2.1.5+dfsg1-1 all
Kopano WebApp files plugin
libnextcloudsync0/now 2.5.1-3+deb10u1 armhf
Nextcloud folder synchronization - libraries
nautilus-nextcloud/stable 2.5.1-3+deb10u1 all
Nextcloud integration for Nautilus
nemo-nextcloud/stable 2.5.1-3+deb10u1 all
Nextcloud integration for Nemo
newsboat/stable 2.13-1+deb10u1 armhf
text mode rss feed reader with podcast support
nextcloud-desktop-common/stable,now 2.5.1-3+deb10u1 all
Nextcloud folder synchronization - common data
nextcloud-desktop-doc/stable 2.5.1-3+deb10u1 all
Nextcloud folder synchronization - documentation
nextcloud-desktop-l10n/stable,now 2.5.1-3+deb10u1 all
Nextcloud folder synchronization - localization
webext-sogo-connector/stable 68.0.1-2~deb10u1 all
Adds DAV client functionality to Thunderbird
Alles anzeigen
Aber das Paket nextcloud-desktop befand sich nicht darunter.
Installation
Merkwürdigerweise gibt es das Paket aber für Debian Buster als armhf Paket: https://packages.debian.org/buster/nextcloud-desktop
Gesehen und geholt:
wget ftp.de.debian.org/debian/pool/main/n/nextcloud-desktop/nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb
Daraufhin habe ich das Paket erstmal versucht zu installieren:
sudo dpkg -i nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb
Vormals nicht ausgewähltes Paket nextcloud-desktop wird gewählt.
(Lese Datenbank ... 98596 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb ...
Entpacken von nextcloud-desktop (2.5.1-3+deb10u1) ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von nextcloud-desktop:
nextcloud-desktop hängt ab von libnextcloudsync0 (= 2.5.1-3+deb10u1); aber:
Paket libnextcloudsync0 ist nicht installiert.
... Jede Menge weiterer Fehler
dpkg: Fehler beim Bearbeiten des Paketes nextcloud-desktop (--install):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
Trigger für gnome-menus (3.31.4-3) werden verarbeitet ...
Trigger für desktop-file-utils (0.23-4) werden verarbeitet ...
Trigger für mime-support (3.62) werden verarbeitet ...
Trigger für man-db (2.8.5-2) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
nextcloud-desktop
Alles anzeigen
Wie zu erwarten, ging das erstmal schief, war aber sehr aufschlussreich.
Aber erstmal muss man die Paketverwaltung mit:sudo apt -f install
bereinigen bevor es weitergeht.
Und die Lösung
Nach ein paar Fehlschlägen fand ich heraus, das man noch folgende Pakete installieren muss:
sudo apt install nextcloud-desktop-common nextcloud-desktop-l10n libqt5keychain1 libqt5positioning5 libqt5qml5 libqt5quick5 libqt5webchannel5 libqt5webkit5 libqt5webengine-data libminizip1 libre2-5 libqt5quickwidgets5
und, da noch nicht im Repository für Raspian, diese Pakete aus der Debian-Repository:
https://packages.debian.org/buster/libqt5concurrent5
https://packages.debian.org/buster/libnextcloudsync0
https://packages.debian.org/buster/libqt5webenginecore5
https://packages.debian.org/buster/libqt5webenginewidgets5
Wenn man den Links folgt findet man folgende Pakete auf dem Debian-Server und kann sie herunterladen:
wget ftp.ch.debian.org/debian/pool/main/q/qtbase-opensource-src/libqt5concurrent5_5.11.3+dfsg1-1+deb10u4_armhf.deb
wget ftp.de.debian.org/debian/pool/main/n/nextcloud-desktop/libnextcloudsync0_2.5.1-3+deb10u1_armhf.deb
wget ftp.de.debian.org/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginecore5_5.11.3+dfsg-2+deb10u1_armhf.deb
wget ftp.de.debian.org/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginewidgets5_5.11.3+dfsg-2+deb10u1_armhf.deb
die man dann folgendermaßen installiert:
sudo dpkg -i libqt5concurrent5_5.11.3+dfsg1-1+deb10u4_armhf.deb
sudo dpkg -i libnextcloudsync0_2.5.1-3+deb10u1_armhf.deb
sudo dpkg -i libqt5webenginecore5_5.11.3+dfsg-2+deb10u1_armhf.deb
sudo dpkg -i libqt5webenginewidgets5_5.11.3+dfsg-2+deb10u1_armhf.deb
Darauhin ging plötzlich alles ganz einfach:
sudo dpkg -i nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb
Vormals nicht ausgewähltes Paket nextcloud-desktop wird gewählt.
(Lese Datenbank ... 99059 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb ...
Entpacken von nextcloud-desktop (2.5.1-3+deb10u1) ...
nextcloud-desktop (2.5.1-3+deb10u1) wird eingerichtet ...
Trigger für gnome-menus (3.31.4-3) werden verarbeitet ...
Trigger für desktop-file-utils (0.23-4) werden verarbeitet ...
Trigger für mime-support (3.62) werden verarbeitet ...
Trigger für man-db (2.8.5-2) werden verarbeitet ...
Warum nicht gleich?
Und wenn man schon dabei ist kann man den CMD-Teil gleich mitinstallieren:
https://packages.debian.org/buster/nextcloud-desktop-cmd
wget ftp.ch.debian.org/debian/pool/main/n/nextcloud-desktop/nextcloud-desktop-cmd_2.5.1-3+deb10u1_armhf.deb
sudo dpkg -i nextcloud-desktop-cmd_2.5.1-3+deb10u1_armhf.deb
Hiermit kann im Hintergrund oder per Cronjob den Nextcloud-Ordner synchronisieren ohne eingelogt zu sein.
Man könnte z.B. eine Webseite auf diese Art und Weise Pflegen.
Einrichten
Client anmelden
Na dann richten wir den Client mal ein:
Zuerst muss man auf dem Desktop ein Terminal öffnen und in diesem gibt man dann nextcloud ein.
Grund für das Terminal ist, das man die Fehlermeldungen sieht falls es mal hakt.
Es geht auch übers "Menü -> Zubehör -> Nextcloud Desktop Synchronisationsclient"
Danach sollte dieses Fenster erscheinen:
Hier auf den "Anmelden"-Button drücken, der linke Button will bloß eine Email-Adresse.
Den Nextcloud-Server hier eintragen.
Auch hier auf Anmelden klicken
Mit den Daten, die auf dem Server angelegt wurden, einloggen.
Warum dieses Fenster kommt weiß ich nicht.
Falls jemand darüber etwas weiß, bitte melden.
Hier sieht man, in welchen Ordner der Client seine Daten ablegt, diese Optionen kann man später noch anpassen.
Man achte auf das graue Nextcloud-Logo über dem Fenster.
Hier wurde bereits das erste Mal erfolgreich synchronisiert, erkennbar am "grünen Haken" über dem und im Fenster.
Hier habe ich dann auf "Alles synchronisieren" geklickt.
Das wars, der Ordner Musik ist leer geblieben, weil er die 500MB-Größe überschreitet.
Noch einen Server anmelden
Setzen wir noch einen drauf:
Das erste Bild kennen wir schon, fangen wir gleich mit dem nächsten Bild an:
Den zusätzlichen Server eintragen,
die nächsten drei Fenster sehen aus wie das dritte bis fünfte Fenster
Der feine Unterschied ist hier der lokale Ordner
Da die Datenmenge bei dieser Cloud etwas größer ist, konnte ich den Client beim synchronisieren erwischen.
Man sieht jetzt auch beide Clouds.
Fertig mit synchronisieren.
Und siehe da, der Client arbeitet auch mit mehren Clouds zusammen.
Wofür soll das gut sein?
Und was z.T. fängt man damit an?
Der Client hat 2 Ordner angelegt:
und mit den beiden Servern synchronisiert, ich habe mal ein paar Dateien zum spielen eingespielt.
du -h Nextcloud*
4,0K Nextcloud/Recipes
8,0K Nextcloud/Notes
4,0K Nextcloud/Video
6,0M Nextcloud/Pictures
6,1M Nextcloud
88M Nextcloud2/juergen
221M Nextcloud2/PDF
412K Nextcloud2/Original/Documents
5,5M Nextcloud2/Original/Photos
15M Nextcloud2/Original
4,0K Nextcloud2/Recipes
12K Nextcloud2/abyss10/Dokuments
21M Nextcloud2/abyss10
8,0K Nextcloud2/Notes
368K Nextcloud2/Datasheets/Vishay
4,4M Nextcloud2/Datasheets/Watterott
44K Nextcloud2/Datasheets/Janome
2,7M Nextcloud2/Datasheets/Waveschare
7,4M Nextcloud2/Datasheets
8,0K Nextcloud2/Documents/QuickNote/quickdoc/keywords
8,0K Nextcloud2/Documents/QuickNote/quickdoc/recentdb
20K Nextcloud2/Documents/QuickNote/quickdoc
28K Nextcloud2/Documents/QuickNote
2,6M Nextcloud2/Documents
5,0M Nextcloud2/Bilder
4,0K Nextcloud2/Video
12K Nextcloud2/Dokuments
9,0M Nextcloud2/Pictures
33M Nextcloud2/Photos
4,0K Nextcloud2/NEXTCLOUD_TEST
400M Nextcloud2
Alles anzeigen
All diese Dateien liegen auf der Cloud und lokal vor.
Ändere ich eine Datei lokal in einem der Nextcloud*-Ordner wird die geänderte Datei sofort in die Cloud übertragen.
Und auch auf jeden Client dem darauf einen Zugriff gewährt wurde.
Beispiel:
Nehmen wir als Beispiel einen Raspberry der als digitaler Bilderrahmen bei Oma steht.
Sobald Ihr neue Fotos von den Enkeln habt, kopiert Ihr die Fotos in z.B. Nextcloud/Oma/Bilder und kurze Zeit später sind die Bilder bei Oma.
Wenn dann noch der Bilderrahmen seine Fotos bei Oma aus Nextcloud/Oma/Bilder holt, werden automatisch die neuen Bilder angezeigt.
Alte Bilder kann ich in meinem Verzeichnis löschen, sie werden dann automatisch aus der Cloud und in allen Clients gelöscht (und auch bei Oma).
Fazit:
Dieser Client dient zum schnellen Austausch von Daten, es ist aber kein Backup.
Lösche ich eine Datei auf meinem Client, ist sie auch auf der Cloud und allen anderen freigegeben Clients weg.
Das sollte man immer im Hinterkopf behalten.
Man kann aber sehr schnell Dateien jemand anderen zukommen lassen: "Kannst Du mir mal die Urlaubsplanung geben?"
Gut, es geht auch mit Samba- und NFS-Freigaben und für Musik bietet sich minidnla an.
Den Vorteil sehe ich hier, das ich keine Netzwerkfreigaben brauche und auch bestimme wer was zu sehen bekommt.
Und ich kann die Freigaben mittels Browser direkt auf dem Cloudserver einstellen. Samba ist da schon etwas hakeliger.
Samba sollte auch nur lokal einegesetzt werden, die Cloud kann aber auch weltweit zur Verfügung stehen.
Ebenfalls angenehm ist, das die Dateien lokal vorhanden sind und ich ganz normal weiterarbeiten kann, selbst wenn irgend
etwas ausfällt (Cloudserver, Netzwerk, ...). Sobald alles wieder läuft, wird auch wieder synchronisiert.
Alles läuft im Hintergrund ab und der Ressourcenverbrauch ist minimal, man merkt es nicht einmal. Außer bei wirklich großen Dateien.
Zu dieser Anleitung:
Bei den beiden Nextcloudservern handelt es sich noch um Testversionen, die sich noch mit je einem 3B+ herumärgen müssen.
Der Server auf der 120er IP ist eine Installation nach dieser Anleitung (Dank an Franjo G )
und bei der 123er IP handelt es sich um eine ältere Version (15.0.14), mit der ich schon vor längerer Zeit herumexperimentiert hatte.
Mittlerweile sind die beiden Nextcloudserver durch einen RPi4B-8G unter Buster64 erstzt worden,
die Nextcloud hat inzwischen die Versionsnummer 20.0.4.
MfG
Jürgen