Nextcloud auf dem Raspberry Pi – NextCloudPi Teil1

1. Private CloudNextCloudPi

Die Cloud hat sich als Dateiablage für Dokumente, Fotos etc. etabliert, auf die man von überall Zugriff hat. Zu den bekannten Cloud-Anbietern zählen Dropbox, Google Drive, iCloud und Co. Das Dilemma: Die Nutzung kommerzieller Anbieter ist zwar bequem, geht allerdings mit dem Verlust der Datenhoheit einher – dabei gibt es Alternativen, die sich mit wenig Aufwand in das eigene Heimnetz integrieren lassen.

Nextcloud ist eine quelloffene und freie Software, die neben dem Speichern von Daten auf einem eigenen Server ebenfalls weitere Funktionen bietet. Über Apps/Erweiterungen lassen sich so Kalender, Adressbuch, Notizen und mehr nutzen. Dabei behält der Nutzer stets die vollständige Kontrolle über seine Daten. Über diverse Clients können die Daten dann zwischen beliebig vielen Systemen synchronisiert werden.

In der Artikelserie »NextCloudPi« möchte ich euch aufzeigen, wie ihr mit einem Raspberry Pi und dem Open-Source-Projekt NextCloudPi eine eigene Cloud in eurer Heimnetzwerk integriert. Damit eure Nextcloud dann auch von »außen« sicher erreichbar ist, wird der Zugang in das Heimnetzwerk per Virtual Private Network (VPN) erfolgen. In einem weiteren Teil werden wir uns dann dem Update-Prozess auf eine neuere (NextCloudPi-)Version widmen. So könnt ihr die Vorteile einer Cloud genießen, ohne persönliche Daten in fremde Hände abzugeben.

2. Hardware

Der Betrieb von Nextcloud auf dem Raspberry Pi funktioniert ab dem Raspberry Pi 2. Für eine bessere Performance solltet ihr jedoch mindestens einen Raspberry Pi 3 B(+) oder besser einen Pi 4 (2 GB RAM und mehr) verwenden. Für die Artikelserie verwende ich die folgenden Bauteile:

  • Raspberry Pi 3 Modell B | 1024 MB RAM (inkl. WLAN)
  • Offizielles Micro USB Netzteil 2A – 5V für Raspberry Pi 3
  • Offizielles Gehäuse für Raspberry Pi 3 (himbeer / weiß)
  • SanDisk Ultra Android microSDHC 16GB bis zu 80 MB/Sek Class 10
  • 16 GB Transcend USB-Stick
  • Ethernet-Kabel

Ein Bildschirm oder externe Tastatur sind im Normalfall nicht notwendig. Nach dem Aufspielen des NextCloudPi-Images erfolgt die Konfiguration über das Webinterface oder optional über eine Secure Shell (SSH).

3. Basisinstallation

Für die Installation ist mindestens eine microSD-Karte mit 8 Gigabyte erforderlich. Über einen externen USB-Stick oder -Festplatte könnt ihr die Speicherkapazität dann erweitern und dort eure persönlichen Daten ablegen – getrennt vom System bzw. der microSD-Karte. Nachfolgend sind alle Schritte beschrieben, mit denen NextCloudPi auf die microSD-Karte installiert wird.

Unterstütze den Blog mit einem Dauerauftrag!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

3.1 NextCloudPi-Image laden und entpacken

Zunächst wird das NextCloudPi-Image auf den Rechner geladen. Klickt auf den Link und wählt anschließend unter Assets (neuestes Datum) die Datei  NextCloudPi_RaspberryPi_vXXX.zip aus. Darin befindet sich das neueste Image für den Raspberry Pi mit der Endung zip.

Das gepackte Image muss zunächst entpackt werden:

  • Windows: Mit 7Zip oder Winrar entpacken
  • Linux: Je nach Distribution ist ein grafisches Entpack-Tool bereits mitgeliefert
  • macOS: Anklicken und auspacken
  • Linux (Terminal): unzip NextCloudPi_RaspberryPi_vXXX.zip
  • macOS (Terminal): unzip -xvf NextCloudPi_RaspberryPi_vXXX.zip

Steckt anschließend die SD-Karte in euren Rechner bzw. das Lesegerät.

3.2 Image auf SD-Karte transferieren

Anschließend muss das entpackte Image (bspw. NextCloudPi_RaspberryPi_v1.50.3.img) auf die SD-Karte übertragen werden. Am einfachsten funktioniert das mit Etcher – einem quelloffenen Tool für Windows, Linux und macOS.

  • Etcher: Zunächst wählt ihr Select Image und navigiert dann zum Ordner, in dem sich das entpackte Image befindet und wählt es aus. Anschließend wählt ihr das Ziellaufwerk, in unserem Fall also die eingelegte SD-Karte. Mit einem Mausklick auf Flash wird der Vorgang gestartet.
  • Linux (Terminal): sudo dd bs=4M conv=fsync if=NextCloudPi_RaspberryPi_v1.50.3.img of=/dev/sdX – stellt unbedingt sicher, dass ihr bei /dev/sdX das korrekte Device/Gerät angeben habt (also die SD-Karte). Eine ausführliche Beschreibung zur Installation über das Linux-Terminal findet ihr hier.
  • macOS (Terminal): sudo dd bs=1m if=NextCloudPi_RaspberryPi_v1.50.3.img of=/dev/rdiskN; sync – stellt unbedingt sicher, dass ihr bei /dev/rdiskN das korrekte Device/Gerät angeben habt (also die SD-Karte). Eine ausführliche Beschreibung zur Installation über das macOS-Terminal findet ihr hier.

3.3 RaspberryPi anschließen

Nachdem der Flash-Vorgang abgeschlossen ist, wird die SD-Karte vom Rechner entfernt und in das vorgesehene Einschubfach im RaspberryPi gesteckt. Verkabelt den RaspberryPi nun vollständig und schließt ihn mit dem Netzwerk- bzw. Ethernet-Kabel direkt an einem freien Port an eurem Router an.

3.4 Im Netzwerk erkennen

Ihr könnt den Raspberry Pi nun zum ersten Mal starten. Im Normalfall sollte euer Router einen bestimmten IP-Adressbereich reserviert haben, um mittels DHCP eine IP-Adresse an den Pi zu vergeben. Da die IP-Adresse dynamisch vergeben wird, müsst ihr natürlich herausfinden über welche IP-Adresse, der Pi nun erreichbar ist:

  • Router-Interface: Über das Router-Interface solltet ihr die IP-Adresse ablesen können. Bei einer Fritz!Box findet ihr die vergebene Adresse unter Heimnetz -> Netzwerk. Der Gerätename lautet nextcloudpi. Mit einem Klick auf den Stift am Ende der Zeile könnt ihr die IP-Adresse ändern.
  • nmap: Mit nmap einfach kurz das lokale LAN scannen: nmap 192.168.1.0/24

3.5 Zugriff auf das Webinterface

Über die IP-Adresse oder den DNS-Namen kann anschließend der Zugriff auf das NextCloudPi-Webinterface erfolgen. Gebt dazu entweder die IP-Adresse im Browser ein:

https://192.168.50.10

oder

https://nextcloudpi

Nach der Eingabe werdet ihr je nach Browser dann erstmal mit einer Sicherheitswarnung begrüßt:

TLS-Warning

Diese Fehlermeldung/Sicherheitswarnung könnt ihr zunächst ignorieren bzw. müsst eine Ausnahme anlegen, damit ihr auf das Webinterface zugreifen könnt. Klickt dazu (je nach Browser) einfach auf Erweitert und anschließend auf Risiko akzeptieren und Fortfahren.

Die Warnung erfolgt deshalb, weil NextCloudPi ab Werk kein eigenes TLS-Zertifikat mitbringt bzw. keines, das von einer (dem Browser bekannten) Zertifizierungsstelle (CA) signiert wurde. Selbst signierte Zertifikate werden von den Browsern üblicherweise mit einer Fehlermeldung/Sicherheitswarnung quittiert.

4. NextCloudPi: Initiale Konfiguration

Bei erstmaligem Aufruf des Webinterfaces zeigt euch NextCloudPi den Standard-Benutzernamen ncp und zwei unterschiedliche Passwörter an. Sichert alle Informationen in eurem Passwort-Manager. Anschließend klickt ihr auf Aktivieren:

Login-Informationen

Danach begrüßt euch entweder der Einrichtungsassistent oder die Startseite des Dashboards. Bevor ihr beginnt, die Nextcloud zu nutzen, solltet ihr den Einrichtungsassistenten starten/abschließen. Ihr könnt ihn entweder über das Menü erreichen NextCloudPi -> Zauberstab oder alternativ über die Adresse:

https://IP-NextCloudPi:4443/wizard/

Sofern ihr einen externen USB-Datenträger angeschlossen habt, trefft ihr unter dem Menüpunkt USB Configuration die nachfolgenden Entscheidungen. Achtung: Der Datenträger wird dabei vollständig gelöscht:

USB-Konfiguration

Beim Menüpunkt External access besteht die Möglichkeit, eure Nextcloud von »außen«, also aus dem Internet (bzw. von unterwegs), erreichbar zu machen. Aus Sicherheitsgründen würde ich hier No wählen. Der direkte Zugriff aus dem Internet auf eure Nextcloud ist zwar bequemer, geht aber auch mit einem vermeidbaren Risiko einher. In einem weiteren Teil der Artikelserie »NextCloudPi« wird der Zugriff auf die Nextcloud per VPN realisiert. Der Zugriff von »außen« ist also erst dann möglich, wenn ihr euch per VPN auf eurem Router (oder vergleichbarem Gerät) eingewählt habt. Beim Bekanntwerden einer kritischen Sicherheitslücke, die sich eventuell auch remote bzw. aus der Ferne ausnutzen lässt, müsst ihr dann nicht sofort ins Schwitzen kommen. Dann habt ihr genügend Zeit, um erforderliche (Sicherheits-)Aktualisierungen in Ruhe einzuspielen.

Nach diesem Schritt ist der Einrichtungsassistent beendet:

NextCloudPi is ready!

5. Absicherung | Hardening

5.1 SSH-Zugriff

Zunächst ermöglichen wir den Zugriff auf den RaspberryPi per Secure Shell (SSH):

https://IP-NextCloudPi:4443/

Wählt aus dem Menü den Punkt NETWORKING -> SSH:

SSH aktivieren

Setzt ein Häkchen bei Active und ändert anschließend das Passwort. Mit einem Klick auf Apply bestätigt ihr den Vorgang. Danach könnt ihr euch per SSH auf dem RaspberryPi einloggen:

ssh pi@IP-ADRESSE

Nach der Authentifizierung wird euch NextCloudPi erneut zu einem Passwortwechsel auffordern.

5.2 Firewall aktivieren

Über das Menü wählt ihr SECURITY -> UFW und aktiviert die Firewall (ufw):

ufw

Nach der Aktivierung über das Webinterface kontrollieren wir via SSH-Zugang (siehe Ziffer 5.1) den Status der Firewall:

sudo ufw status numbered

Der Output sieht dann wie folgt aus:

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere                  
[ 2] 443/tcp                    ALLOW IN    Anywhere                  
[ 3] 4443/tcp                   ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] DNS                        ALLOW IN    Anywhere                  
[ 6] Samba                      ALLOW IN    Anywhere                  
[ 7] 2049                       ALLOW IN    Anywhere                  
[ 8] Anywhere                   ALLOW IN    192.168.0.0/16/udp        
[ 9] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[10] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[11] 4443/tcp (v6)              ALLOW IN    Anywhere (v6)             
[12] 22 (v6)                    ALLOW IN    Anywhere (v6)             
[13] DNS (v6)                   ALLOW IN    Anywhere (v6)             
[14] Samba (v6)                 ALLOW IN    Anywhere (v6)             
[15] 2049 (v6)                  ALLOW IN    Anywhere (v6)

Den Regelsatz kann man nun noch weiter optimieren. Wenn der Samba-Dienst auf dem NextCloudPi bspw. nicht aktiv ist, kann die Regel auch entfernt werden:

sudo ufw delete 6
Deleting:
 allow Samba
Proceed with operation (y|n)? y
Rule deleted

Danach ist der Zugriff auf die Samba-Freigabe (per IPv4) nicht mehr möglich – auch dann nicht, wenn der Dienst auf dem NextCloud-Pi aktiv ist. Bitte beachten: Die dazugehörigen IPv6-Regeln solltet ihr ebenfalls entfernen. Bei Bedarf könnt ihr auch die Zugriffsmöglichkeit auf die Dienste NFS (Port 2049) und/oder DNS (Port 53) verbieten.

Eine minimierte Firewall-Konfiguration würde dann wie folgt aussehen:

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere                  
[ 2] 443/tcp                    ALLOW IN    Anywhere                  
[ 3] 4443/tcp                   ALLOW IN    Anywhere                  
[ 4] 22                         ALLOW IN    Anywhere                  
[ 5] Anywhere                   ALLOW IN    192.168.0.0/16/udp        
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 7] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 8] 4443/tcp (v6)              ALLOW IN    Anywhere (v6)             
[ 9] 22 (v6)                    ALLOW IN    Anywhere (v6)

Warnung

Solche Eingriffe solltet ihr bitte mit Bedacht vornehmen und diese ebenfalls dokumentieren. Im Zweifelsfall solltet ihr einfach die Standard-Vorgaben belassen.

5.3 Updates

Das Einspielen von (Sicherheits-)Updates ist ein Vorgang, der regelmäßig und zeitnah durchgeführt werden sollte. NextCloudPi unterscheidet zwischen drei verschiedenen Update-Ebenen:

  • Betriebssystem (Debian/Raspbian): Alle Updates, die das Basissystem (Debian GNU/Linux) betrifft
  • NextCloud-Installation: Updates, die Nextcloud betreffen
  • NextCloudPi: Und letztendlich alle Updates, die NextCloudPi selbst betreffen

Standardmäßig werden Sicherheitsupdates eingespielt. Um das Einspielen von herkömmlichen Updates (Verbesserungen, Funktionserweiterung, Bugfixes) müsst ihr euch selbst kümmern. Das Einspielen der Updates für die Nextcloud und auch NextCloudPi könnt ihr zwar automatisieren, allerdings rate ich davon ab. Herkömmliche Updates solltet ihr selbst einspielen bzw. zu einem Zeitpunkt, bei dem ihr auf mögliche Eingaben/Fehler auch reagieren könnt.

Update einleiten

Über UPDATES -> Update könnt ihr ein vollständiges Update einleiten – das betrifft dann das Betriebssystem, Nextcloud und auch NextCloudPi. Dies solltet ihr nach der initialen Konfiguration unbedingt einmal durchführen, bevor ihr beginnt, die Nextcloud zu nutzen. Bei mir hat das nicht direkt geklappt, aber die Eingabe von
sudo dpkg --configure -a

per SSH hat das Problem korrigiert und anschließend konnten alle Updates eingespielt werden.

Standardmäßig wird euch NextCloudPi benachrichtigen, sobald für Nextcloud oder NextCloudPi neue Updates zur Verfügung stehen. Unter UPDATES -> Update-Benachrichtigungen könnt ihr das Verhalten bei Bedarf anpassen.

5.4 Standard-Nutzer anlegen

Der Standard-Nutzer ncp verfügt über Admin-Rechte. Dieses Konto solltet ihr (aus Sicherheitsgründen) nur dann nutzen, wenn ihr Konfigurationsanpassungen vornehmt, neue Nutzer anlegt oder Updates einspielt. Nachfolgend legen wir daher einen neuen Nutzer an:

https://IP-NextCloudPi

Klickt oben rechts auf das N-Symbol (ncp-Nutzer) und wählt aus dem Menü den Eintrag Benutzer:

Nutzer hinzufügen

Ihr könnt dann folgende Werte festlegen:

  • Benutzername: Mit diesem Benutzernamen meldet ihr euch an Nextcloud an bzw. authentifiziert euch
  • Passwort: Selbsterklärend – wählt ein sicheres Passwort
  • Anzeigename: Der Name, der in der Nextcloud erscheint
  • E-Mail: Eure E-Mail-Adresse. Gebt hier eine existente E-Mail-Adresse an, die ihr auch abruft. An diese Adresse sendet Nextcloud diverse Hinweise etc.
  • Gruppen: Im Auslieferungszustand gibt es nur eine Gruppe, die der Admins. Ihr müsst euren neuen Nutzer keiner Gruppe zuordnen. Das könnt ihr auch später noch nachholen, sofern Bedarf besteht.
  • Kontingent: Ihr könnt für jeden Benutzer festlegen, wie groß sein Speicherkontingent sein darf – also wie viel Festplattenplatz jemand verbrauchen darf.

Ist dieser Nutzer einmal angelegt, solltet ihr diesen nun für den alltäglichen Gebrauch verwenden und das Admin-Konto ncp lediglich für Konfigurationsanpassungen etc.

5.5 TLS-Zertifikat

Im Auslieferungszustand wird NextCloudPi mit einem selbst signierten TLS-Zertifikat ausgeliefert, das von keiner (dem Browser bekannten) Zertifizierungsstelle (CA) signiert wurde. Beim Aufruf kommt es daher zur Fehlermeldung/Sicherheitswarnung, wie bereits unter Ziffer 3.5 Zugriff auf das Webinterface beschrieben.

Grundsätzlich schmälert ein selbst signiertes TLS-Zertifikat nicht die Sicherheit der verschlüsselten Verbindung. Dennoch sollte die Fehlermeldung/Sicherheitswarnung ernst genommen werden – insbesondere bei Zielen bzw. Servern, die über das öffentliche Netzwerk (Internet) erreichbar sind. Tritt solch eine Meldung auf, ist das TLS-Zertifikat der aufgerufenen Website womöglich abgelaufen oder jemand versucht euch ein manipuliertes TLS-Zertifikat unterzuschieben, um die verschlüsselte Verbindung aufzubrechen (und den Datenverkehr einzusehen).

Für das NextCloud-Setup gibt es nun mehrere Möglichkeiten:

  • Offiziell signiertes TLS-Zertifikat: NextCloudPi bietet die Option, über Let’s Encrypt ein valides bzw. signiertes TLS-Zertifikat zu erhalten. Da diese Zertifizierungsstelle (CA) in eurem Browser/System hinterlegt ist, wird es nach der Ausstellung zu keiner Fehlermeldung mehr kommen. Die Voraussetzung ist allerdings der Besitz einer eigenen Domain – viele Anwender werden diese nicht erfüllen. Über NETWORKING -> letsencrypt kann der Vorgang angestoßen werden.
  • Selbst signiertes TLS-Zertifikat: Im Auslieferungszustand wird NextCloudPi mit einem selbst signierten TLS-Zertifikat ausgeliefert. Für unsere Zwecke ist dies ausreichend, da die Nextcloud lediglich aus dem internen (Heim-)Netz erreichbar ist – und später dann auch via VPN. Das bedeutet aber auch, dass die Fehlermeldung/Sicherheitswarnung (einmalig) beim Aufruf über Browser/Client bestätigt werden muss.
  • Einrichtung einer eigenen Zertifizierungsstelle (CA): Alternativ besteht auch die Möglichkeit eine eigene Zertifizierungsstelle (CA) zu erstellen, mit der anschließend selbst signierte Zertifikate erstellt werden. Wird diese CA dann auf eurem System/Browser/mobilen Endgerät ausgerollt bzw. bekannt gemacht, ist das vergleichbar mit einem offiziell signierten TLS-Zertifikat. Eine Fehlermeldung bleibt anschließend aus. Dieser Vorgang ist allerdings nicht Teil der Artikelserie und kann bspw. hier nachgelesen werden.

5.6 Fail2Ban und Co.

NextCloudPi bietet noch weitere Möglichkeiten, eure NextCloud-Installation abzusichern. So besteht bspw. die Möglichkeit, via Fail2Ban einen Brute-Force-Schutz zu aktivieren, der das Ausprobieren von Nutzername-Passwort-Kombinationen unterbindet. Fail2Ban wird nach einer gewissen Anzahl an Fehleingaben dafür sorgen, dass eine IP-Adresse für eine bestimmte Zeit blockiert wird bzw. die Nextcloud nicht erreichen kann. Dieser Schutz ist insbesondere dann sinnvoll, wenn eure Nextcloud aus dem öffentlichen Netzwerk (Internet) erreichbar ist. Über SECURITY -> fail2ban könnt ihr den Schutz an eure Bedürfnisse anpassen. Für unser Setup werden wir Fail2Ban nicht aktivieren.

Weiteres Hardening

In der offiziellen Dokumentation der Nextcloud findet ihr weitere Tipps für das Hardening/die Absicherung der Installation. Wenn eure Nextcloud über das Internet erreichbar ist, solltet ihr euch die Maßnahmen anschauen und bei Bedarf umsetzen.

6. Backups

Ein Datenverlust kann immer eintreten – die Gründe hierfür sind vielfältig: Hardwaredefekt, Fehlbedienung, Brand etc. Es ist daher essenziell ein Backup anzulegen, das im Ernstfall wieder hergestellt werden kann. NextCloudPi bietet die Möglichkeit ein solches Backup (automatisiert) zu erstellen.

Backupstrategien

NextCloudPi unterstützt unterschiedliche Backupstrategien. Es ist empfehlenswert, die offizielle Dokumentation zum Thema Backup einmal in Ruhe zu lesen. NextCloudPi unterstützt bspw. auch inkrementelle Backups (Snapshots) via BTRFS oder die Synchronisation/Speicherung via rsync. Nachfolgend wird eine einfache Variante bzw. Backupstrategie vorgestellt.

Nach Abschluss der initialen Konfiguration wird das erste Backup angelegt. Dazu öffnen wir BACKUPS -> Sicherung erstellen. Den Zielordner könnt ihr belassen oder bei Bedarf anpassen – bspw. dann, wenn die Backups auf einem anderen Medium oder Ordner abgelegt werden sollen. Nachfolgend wird ein sog. »Full-Backup« durchgeführt, dass nicht nur die NextCloudPi-Konfiguration umfasst, sondern ebenfalls die Datenbank und bei Bedarf auch (Include data) alle Daten der Nutzer – also Dateien, Bilder, Videos, etc. Selbst wenn die Daten komprimiert werden (Compress) ist der Platzbedarf, je nach Größe der abgelegten Daten auf der NextCloud, immens. Je nach Platzbedarf kann es erforderlich sein, eine weitere externe USB-Festplatte/USB-Stick anzuschließen, auf die/der dann ausschließlich die Backup-Daten abgelegt werden. Beachtet bitte, dass eure Nextcloud für den gesamten Vorgang nicht benutzbar ist und sich im sog. Maintenance-Mode befindet:

NextCloud Backup

Diesen Vorgang werden wir anschließend über BACKUPS -> Automatische Sicherung automatisieren. Setzt das Häkchen bei Active und bei Bedarf auch bei Include data bzw. Compress. NextCloudPi wird dann im Abstand von sieben Tagen bzw. einer Woche jeweils ein Full-Backup anlegen. Nach 4 Wochen wird das Backup dann mit einem neuen überschrieben. Ihr könnt also bis zu vier Wochen in die Vergangenheit gehen. Bei Bedarf könnt ihr die Werte an eure Bedürfnisse anpassen. Mir persönlich genügt ein wöchentliches Backup – ich behalte allerdings lediglich zwei Wochen der Vergangenheit:

Automatische Backups

Backup einspielen/prüfen

Im Idealfall spielt ihr einmal ein Worst-Case-Szenario durch und spielt das Backup wieder ein. Nehmt dazu einfach andere Speichermedien und prüft, ob das Zurückspielen (BACKUPS -> Wiederherstellung) des Backups funktioniert.

7. Weitere Schritte

Eure NextCloudPi ist nun startklar. Zunächst solltet ihr euch mit dem Webinterface der Nextcloud vertraut machen. Anschließend könnt ihr folgende Schritte angehen:

  • Desktop- und Mobil-Client: Auf die Nextcloud kann nicht nur über den Browser zugegriffen werden, sondern auch über Desktop-Clients bzw. Apps. Ihr könnt dann auf eure Dateien zugreifen oder wichtige Daten zwischen verschiedenen Systemen synchronisieren. Die Clients stehen für Windows, macOS, Linux und auch Android/iOS zur Verfügung. Installationshinweise und Tipps zur Nutzung findet ihr in der offiziellen Dokumentation.
  • Apps / Erweiterungen: Bereits im Auslieferungszustand bietet Nextcloud viele Funktionen wie Kalender, Adressbücher, Fotogalerie, Musik- und Videowiedergabe, Aufgabenplaner, Feedreader, WYSIWYG-Editor für Textdateien etc. Über sog. Apps lässt sich der Funktionsumfang bei Bedarf erweitern – oder eben auch reduzieren. Über das NextCloud-Interface (als Admin) könnt ihr diese über das N-Symbol (ncp-Nutzer) und anschließend den Eintrag Apps erreichen.
  • Kalender und Adressbuch: Es besteht die Möglichkeit, Kalender in der Nextcloud anzulegen und diese ebenfalls über das CalDAV-Protokoll systemübergreifend zu synchronisieren. Ihr könnt den/die Kalender dann bspw. über Thunderbird (am Desktop) befüllen und auf Android über DAVx⁵ synchronisieren bzw. darauf zugreifen. Selbiges gilt auch für Adressbücher, die sich mittels dem CardDAV-Protokoll systemübergreifend synchronisieren lassen.

8. Fazit

Eure Nextcloud bzw. NextCloudPi ist einsatzbereit. Der Funktionsumfang und die Möglichkeiten der Nextcloud sind umfangreich und bedürfen einer gewissen Eingewöhnungszeit. Lasst euch davon nicht abschrecken – ihr habt nun die vollständige Kontrolle über eure Daten.

In einem weiteren Teil der Artikelserie werden wir den Zugang zum Heimnetz per Virtual Private Network (VPN) realisieren, damit der Zugriff auf die Nextcloud auch von unterwegs möglich ist. Geplant ist die Umsetzung mit WireGuard, einem zukunftssicheren VPN-Protokoll, das demnächst ebenfalls auf den weit verbreiteten Fritz!Boxen (bereits Teil der FRITZ!OS 7.39 Testversion) verfügbar sein wird. Wie genau die Umsetzung erfolgt bzw. in Kombination mit welcher Hardware, muss ich mir noch überlegen. Eventuell zeige ich die Umsetzung in Kombination mit einem OpenWrt-Router (siehe OpenWrt-Artikelserie) und einer Fritz!Box (sofern WireGuard verfügbar).

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

13 Ergänzungen zu “Nextcloud auf dem Raspberry Pi – NextCloudPi Teil1”

  1. Comment Avatar Thomas sagt:

    Moin und vielen Dank!

    Dazu eine Frage: gibt es einen Grund, das Ganze nicht per WLAN anzuhängen und statt dessen auf Ethernet zu setzen?

    Grüße
    Thomas

  2. Comment Avatar Andi sagt:

    Für VPN einfach PiVPN auf dem Raspi installieren. Einfacher geht es nicht und ein ggf. bereits vorhandenes PiHole wird in dem Zuge gleich mit genutzt. https://www.pivpn.io/

    • Comment Avatar Mike Kuketz sagt:

      Kann man machen. Es gibt dazu sogar ein älteres Tutorial: https://www.kuketz-blog.de/pivpn-raspberry-pi-mit-openvpn-raspberry-pi-teil3/

      Ich rate aber aus zwei Gründen davon ab, PiVPN auf dem selben Pi wie NextCloudPi zu installieren:
      – dann ist der RaspberryPi mit einem Beinchen direkt aus dem Internet erreichbar. Etwas, was das oben dargestellte Setup eigentlich vermeiden möchte.
      – PiVPN und NextCloudPi sind zwei verschiedene Anwendungszwecke, die besser getrennt werden sollten.

      Hat man aber noch einen weiteren Pi, ist der Tipp natürlich vollkommen in Ordnung.

  3. Comment Avatar Michael sagt:

    Auch ohne eigene Domain geht es mit Let’s Enncrypt via Duck DNS und Tunnelbroker.

    http://www.duckdns.org/
    https://tunnelbroker.net/

  4. Comment Avatar Schlingel sagt:

    Die Lösung mit VPN hat aber einen gravierenden Nachteil: Ich kann keine Dateien für andere freigeben. Beispielsweise Fotos von einem Ausflug. Das kommt gar nicht mal so selten vor. Und wenn man dann nicht will, dass diese bei GAMAM landen, bleibt oft nur die eigene Nextcloud. Das gilt auch für den Fall, dass andere einem selbst Fotos schicken wollen. Mit Link, Name, Passwort ist das sehr einfach möglich und sie laden die Fotos einfach auf meine Nextcloud.

    • Comment Avatar VPNler sagt:

      Dann vielleicht zwei Pi’s mit einer VPN-Installation für nur private / ausschließlich persönliche Zwecke und eine Installation für „Freunde“.

    • Comment Avatar Archboy sagt:

      4 Lösungsmöglichkeiten:
      1. Freunden (vertrauenswürdigen) eigene PiVPN Profile erstellen.
      2. Managed Nextcloud.
      3. Nextcloud auf einem Cloudhoster deiner Wahl hosten.
      4. Anstelle von PiVPN einen Pi mit Loadbalancer auf einen VPS (mit z.B. Pihole + Unbound) via 443 forwarden (kann mittels eigener Domain und SSL Zertifikaten ergänzt werden).

  5. Comment Avatar Bet sagt:

    Link zum Forum für Frage, Meinung, Wunsch, etc.:

    https://forum.kuketz-blog.de/viewtopic.php?t=9330

  6. Comment Avatar ErreUno sagt:

    Ich nutze NextcloudPI seit ca. 2 Jahren auf einem Standard Linux-Server unter Debian. Mit SSD für OS und Upload Cache und 8TB netto RAID5 Verbund braucht das System zwischen 17 und 35 Watt. Performance ist um einiges besser als auf dem PI4b.
    Warum NextcloudPI? Der Server erfordert praktisch null Aufmerksamkeit. Updates (auch für Debian), Backups alles läuft vollautomatisch. Hier schöpfe ich das volle Potenzial von NextcloudPI aus.
    Ich bin mit NC17 gestartet und wurde im laufe der Jahre automatisch bis auf die neuste Version hoch gezogen.
    Das „PI“ macht den Unterschied. Danke für den tollen Beitrag.

  7. Comment Avatar Bürostuhlakrobat sagt:

    Hallo Mike,

    erst einmal vielen Dank für deinen tollen Beitrag!

    Nachfolgend hätte ich noch ein paar Anregungen bzw. Fragen die ich mir als Leser zum Thema NextcloudPi stellen würde (die ich z.T. auch aus deinem Forum zum Thema aufgegriffen habe).

    1. Welche Gründe sprechen für, bzw. gegen die Verwendung eines Raspis/x86?

    Ganz klar sprechen die geringen Unterhaltskosten, die weite Verbreitung sowie die vielen Anleitungen im Netz für die Verwendung der Raspi-Plattform. Jedoch sollte man auch bedenken, dass je nach Nutzung der Raspberry Pi hardwarebedingt selbst beim Modell 4B schnell an seine Leistungsgrenze kommen kann. Wer seinen NextcloudPi nur für einfache Aufgaben so wie von Dir beschrieben nutzt, wird mit dieser Lösung prima zurecht kommen. Wer allerdings darüber nachdenkt, z.B.: Nextcloud-Talk, RAID 1 (Softwarelösung), Verschlüsselung oder mehrere Videostreams gleichzeitig vom Pi als Medienzuspieler für Kodi etc. zu nutzen wird mit der genannten Lösung schnell frustriert sein.
    In dem Fall sollte man m.M.n. darüber nachdenken, als Grundlage ein x86 basierendes System für seine Nextcloud zu verwenden. Ganz klar muss man sich im Klaren sein, dass man mit einem x86 höhere Anschaffungskosten hat, sofern man über keine alten Geräte zum „upcyclen“ verfügt. Da aber Aufgrund der „Chipkrise“ der Raspi je nach Konfiguration aktuell nur schwer und teils zu Mondpreisen erhältlich ist, relativiert sich der Kostenvergleich etwas zugunsten eines x86 wieder. Außerdem sollte man natürlich auch bedenken, dass man bei dieser Lösung mit einem höheren Energiebedarf rechnen kann, der m.M.n. je nach Aufbau des Systems aber noch vertretbar ist. Selbst ein vermeintlich „schwacher“ Laptop, Mini-PC, Desktop etc. mit z.B. einem Celron als CPU oder ähnlichem lässt sich wunderbar für ein solches Projekt umfunktionieren und hat deutlich mehr Wums als ein Raspi.

    2. Nextcloud vs. NAS brauche ich beides und macht das Sinn?

    Beim stöbern im Forum bin ich immer wieder über beide Begriffe gestolpert und die damit vermutlich verbundenen Verständnisprobleme bei dem ein oder anderen Forumsteilnehmer, insbesondere die Abgrenzung zwischen einem NAS bzw. einer Nextcloud sowohl auf Hardware- als auch Softwareebene. Zum Bsp. wurde neben einer NAS Fertiglösung ein NextcloudPi aufgesetzt und
    in dem Zusammenhang wurde gefragt, wie man aus den beiden Geräten eins macht.
    Hierbei wurden m.M.n. unnötig Methoden von der Dockerisierung bis zur Nutzung von VVM’s empfohlen. Ja klar gibt es Anwendungsfälle wo ein zusätzliches NAS Sinn macht, allerdings muss man sich als Privatanwender fragen, ob man sich so etwas antun will.
    Ich persönlich würde getreu dem KISS-Prinzip mit meiner Nextcloud ein zusätztliches NAS ersetzen, sofern ich beides betreiben würde. Insbesondere wenn das NAS nur als Medienzuspieler für Kodi (was sich auch wunderbar mit einer Nextcloud umsetzen lässt) usw. verwendet wird. Zusätzlich würde ich auf der Nextcloud ein RAID aufsetzten sofern ich die Vorteile von Datenredundanz nicht missen möchte. Wer darüber nachdenkt jetzt ein RAID (Software) z.B. mit zwei externen USB Festplatten am Raspberry Pi etc. anzuschließen wird vermutlich von der schlechten Performance enttäuscht sein, abhilfe könnte hier ein externes RAID Gehäuse bringen.

    • Comment Avatar Georg sagt:

      Noch eine verspätete Anmerkung zu PI vs. x86 und Hardware allgemein:

      Die Sollbruchstelle beim normalen PI2/3/4 ist die SD-Karte.

      Darum lieber ein CM4. Günstig für NC und Ähnliches ist das „kleine“ mit 1GBRAM/8GBEMMC/ohne Funk auf einem MiniBaseBoard. Kostet zusammen auch nur <60EUR und ist schneller und zuverlässiger.
      Es kann sogar eine NVM-SSD direkt angesteckt werden. Wenn die Nextcloud nur Adressbuch/Kalender und sonstigen Kleinkram speichern soll, dann reicht das schon. Ansonsten wie üblich USB-HDD.

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.