[Tutorial] Nextcloud-Client für den Raspberry

  • (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:

    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:

    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:

    Code
    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:

    Code
    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:

    Code
    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:

    Code
    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:

    Code
    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:

    Code
    drwxr-xr-x 6 pi pi 4096 Apr 6 21:21 Nextcloud
    drwxr-xr-x 16 pi pi 4096 Apr 6 21:25 Nextcloud2

    und mit den beiden Servern synchronisiert, ich habe mal ein paar Dateien zum spielen eingespielt.

    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

  • Update 01.12.2021:


    In den Verionen Buster64 und Bullseye ist der Client bereits vorhanden,

    die umständliche Installationsprozedur aus dem vorherigen Beitrag ist somit nicht mehr nötig.

    Ein einfaches sudo apt install nextcloud-desktop reicht.

    Man kann dann mit dem Einrichten im vorherigen Beitrag weitermachen.


    MfG


    Jürgen

  • Hallo,


    das ist natürlich eine hervorragende Anleitung - toll. Ich durfte das anwenden - funktioniert. Mich wundert allerdings, dass die lib und der Client immer noch nicht im PI Repository sind.


    Viele Grüße und ein "Gesundes Neues Jahr"

  • Hallo Jürgen,

    bei mir klappt des (das) alles net (nicht). Also ich hab hinten angefangen aber der findet nix:


    sudo apt install nextcloud-desktop

    Paketlisten werden gelesen... Fertig

    Abh\u00e4ngigkeitsbaum wird aufgebaut.

    Statusinformationen werden eingelesen.... Fertig

    Paket nextcloud-desktop ist nicht verf\u00fcgbar, wird aber von einem anderen Paket

    referenziert. Das kann hei\u00dfen, dass das Paket fehlt, dass es abgel\u00f6st

    wurde oder nur aus einer anderen Quelle verf\u00fcgbar ist.


    E: F\u00fcr Paket \u00bbnextcloud-desktop\u00ab existiert kein Installationskandidat.


    Wo finde ich ezat (jetzt) den Installationskandidaten?


    Kannst du mir weiterhelfen?


    gute Grüße Dieter

    Dieter (ddd) war mal dieterderdrucker, ist jetzt dieterderdiakon und freut und ärgert sich über seine 3d drucker und am raspberry? Na da ist er völliges greenhorn und wagt sich an projekte die eigentlich zu groß für ihn sind. Aber genau dafür ist der raspberry doch da oder? :S

  • Für die 64 Bit-Version ist der Client vorhanden:

    Für die 32 Bit-Version leider nicht. Hier musst Du selbst den Compiler anwerfen und die Anleitung in #1 weiter abarbeiten.


    Steht aber auch in der Anleitung, wenn auch etwas missverständlich. Werde ich gleich korrigieren.


    MfG


    Jürgen

  • hallo Jürgen,

    hab jetzt einfach mal auf 64 bit umgestellt, klappt trotzdem nicht :( :


    pi@raspberrypi:~ $ uname -a

    Linux raspberrypi 5.10.17-v8+ #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021 aarch64 GNU/Linux

    pi@raspberrypi:~ $ apt search Nextcloud-desktop

    Sortierung... Fertig

    Volltextsuche... Fertig

    libnextcloudsync0/now 2.5.1-3+deb10u1 armhf [Installiert,lokal]

    Nextcloud folder synchronization - libraries


    nextcloud-desktop-common/stable,now 2.5.1-3+deb10u1 all [installiert]

    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 [installiert]

    Nextcloud folder synchronization - localization


    pi@raspberrypi:~ $ sudo apt install nextcloud-desktop

    Paketlisten werden gelesen... Fertig

    Abh\u00e4ngigkeitsbaum wird aufgebaut.

    Statusinformationen werden eingelesen.... Fertig

    Paket nextcloud-desktop ist nicht verf\u00fcgbar, wird aber von einem anderen Paket

    referenziert. Das kann hei\u00dfen, dass das Paket fehlt, dass es abgel\u00f6st

    wurde oder nur aus einer anderen Quelle verf\u00fcgbar ist.


    E: F\u00fcr Paket \u00bbnextcloud-desktop\u00ab existiert kein Installationskandidat.

    pi@raspberrypi:~ $


    Was habe ich falsch gemacht?


    Gute Grüße

    Dieter

    Dieter (ddd) war mal dieterderdrucker, ist jetzt dieterderdiakon und freut und ärgert sich über seine 3d drucker und am raspberry? Na da ist er völliges greenhorn und wagt sich an projekte die eigentlich zu groß für ihn sind. Aber genau dafür ist der raspberry doch da oder? :S

  • Nicht umstellen, hier ist Buster64 aufgepielt. Mit dem Eintrag in der /boot/config.txt änderst Du nur den Kernel,

    nicht die Distri. Du hast nach wie vor noch ein 32 Bit Buster System.

    Die Anleitung in #2 bezieht sich aber auf 64 Bit Buster.

    Wenn Du das offizielle RaspberryOS aufgespielt hast, musst Du den Hinweis auf #2 ignorieren und der Anleitung in #1 weiter folgen.


    Oder Buster64 aufspielen: https://downloads.raspberrypi.…raspios_arm64-2021-04-09/

    Das ist allerdings noch Beta.


    MfG


    Jürgen

  • Nochmal Ich. Mit Dusel hat's geklappt.

    Habe mir entsprechend Deiner Anleitung oben
    wget ftp.de.debian.org/debian/pool/main/n/nextcloud-desktop/nextcloud-desktop_2.5.1-3+deb10u1_armhf.deb

    gezogen ,
    aber nicht gefunden wo es abgelegt wurde.
    Mit der Desktopsuche hab ich das Teil dann gefunden (ohne zu wissen wo es genau liegt) und mit einem doppelklick installiert es hat funktioniert :saint:


    Aber ohne deinen Hinweis auf die 64 bit wäre ich gestrandet ..

    danke!


    Dieter


    Ps: du hast auch was über sata Adapter geschrieben. Ich erlebe da gerade "mystisches" aber da werde ich die Tage noch mal Deinen Post genauer angucken und mich ggf. nochmals melden ...

    Dieter (ddd) war mal dieterderdrucker, ist jetzt dieterderdiakon und freut und ärgert sich über seine 3d drucker und am raspberry? Na da ist er völliges greenhorn und wagt sich an projekte die eigentlich zu groß für ihn sind. Aber genau dafür ist der raspberry doch da oder? :S

  • Hallo ihr,


    (auch) für armhf-Kisten ist die Installation eigentlich kinderleicht:


    Die Debian Haupt-Repositorys in die /etc/apt/sources.list aufnehmen


    sudo apt-get update

    -> es kommt ein Fehler mit einigen Cert-Keys (NO_PUBKEY 648ACFD622F3D138)

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CERTKEY1 CERTKEY2..

    -> Zertifikate zum zertifkatsspeicher hinzufügen

    sudo apt-get update -> sollte durchlaufen

    sudo apt install nextcloud-desktop


    Danach die Repos in der sources.list auskommentieren, sonst zerschießen die beim Update das System



    komme eigentlich aus der Windows-Welt, aber auch wenn das vielleicht nicht das eleganteste ist, will ich das niemandem vorenthalten. Zu viele Stunden habe ich mit diesem Mist verbracht, das ist jetzt vorbei.


    LG

  • (auch) für armhf-Kisten ist die Installation eigentlich kinderleicht:

    Ich habe meine Anleitung angepasst, Danke für den Tip.


    Und herzlich willkommen im Forum, netter Einstand ;)


    MfG


    Jürgen