In diesem Blogbeitrag werde ich den einfachen Installationsprozess von Nextcloud auf Raspberry Pi 5 mithilfe von Docker durchgehen. Wir werden Schritt für Schritt Anleitungen geben, um die Cloud-Speicherlösung auf deinem Raspberry Pi 5 zu konfigurieren.
Erfahre, wie du Docker effizient einsetzen kannst, um Nextcloud auf deinem Mini-Computer zu betreiben und so einen eigenen Cloud-Server zu erstellen. Dieser Beitrag ist ideal für alle, die nach einer kostengünstigen und zugänglichen Möglichkeit suchen, ihre Daten sicher in der Cloud zu speichern.
Dieser Beitrag führt dich durch die Installation von Nextcloud auf Raspberry Pi 5 mit Docker. Wir integrieren Nginx Proxy Manager für sicheren Zugriff, ein Office Paket und binden eine externe SSD Speicher ein.
Der neue Raspberry Pi 5 verfügt nun über schnelleres RAM anstelle des bisher verwendeten DDR4 RAM. Dies ermöglicht eine höhere Taktrate bei geringerem Strombedarf, schon einmal ein Schritt weiter in die Richtung Stromverbrauch. |
Seiteninhalt:
Raspberry Pi 5 – OS Installation
In diesem Guide zeige ich dir, wie du Raspberry Pi OS in wenigen einfachen Schritten mit dem Raspberry Pi Imager auf SD Karte * installierst. Das Tool vereinfacht und beschleunigt den Installationsprozess erheblich.
- Ändern : Neue Eigenschaften : EIN/AUS-Taste ¤ PCIe 2.0-Anschluss Integrierter RTC-Anschluss
- 5V/5A DC-Stromversorgung über USB-C
- Raspberry Pi 5 unterstützt Dual 4K-Displays über seine HDMI-Anschlüsse
Lade den Raspberry Pi Imager von der offiziellen Website herunter und installiere ihn auf deinem Computer, unabhängig von deinem Betriebssystem (Windows, macOS oder Linux). Lege die SD-Karte in deinen Computer ein und öffne den Raspberry Pi Imager. Wähle zuerst das gewünschte Betriebssystem, in diesem Fall Raspberry Pi OS Lite (64-bit) und Raspberry Pi Modell, aus der Liste. Wähle die SD-Karte aus, achte darauf, die richtige Laufwerk (Karte) zu wählen, um Datenverlust zu vermeiden.
Bevor du Schreibprozess startest, kannst unter Einstellungen noch Sprache, Zeitzone auswählen, SSH Zugang aktivieren und Passwort für Benutzer pi festlegen. SSH Zugang ist für späteren Einrichtung wichtig weil wir keine Raspberry Pi Desktop Version installieren. |
Klicke auf „Write„, um den Installationsprozess zu beginnen. Der Imager lädt automatisch die neueste Version von Raspberry Pi OS herunter und schreibt sie auf die SD-Karte. Dieser Vorgang kann einige Minuten dauern.
Eine kabelgebundene Ethernet-Verbindung ist in der Regel stabiler als eine drahtlose WLAN-Verbindung. Dies kann wichtig sein, wenn der Raspberry Pi 5 für bestimmte Aufgaben oder Projekte eine zuverlässige und konstante Netzwerkverbindung benötigt. |
Setze die SD-Karte in den entsprechenden Slot des Raspberry Pi 5 ein, verbinde den Raspberry Pi mit dem LAN Kabel und Netzteil, Raspberry Pi sollte automatisch starten. Der Start dauert ein paar Minuten. Öffne ein Terminal auf einem anderen Computer im gleichen Netzwerk und verwende den Befehl ssh pi@IP-Adresse und ersetze IP Adresse durch die tatsächliche IP Adresse deines Raspberry Pi. Linux und Mac OS Anwender benutzen Terminal, Windows Benutzer z.B. Putty als SSH Client.
OS Update & Upgrade für Nextcloud auf Raspberry Pi 5
Bevor du startest Nextcloud auf Raspberry Pi 5 zu installieren, musst du zuerst Raspberry Pi OS auf neuste Stand bringen mit Befehl:
# Nextcloud auf Raspberry Pi 5 (OS Update & Upgrade)
sudo apt update && sudo apt upgrade -y
Nach dem Update und Upgrade durchgelaufen ist, kannst du deine SSD Festplatte oder USB Stick als externe Datenspeicher einrichten. Anschließen und dann Befehl lsblk eingeben, jetzt siehst du deine SD Karte und externe SSD Laufwerk.
Wenn deine externe Speicher schon partitioniert ist kannst mit Befehl sudo mkfs -t ext4 /dev/sdx Partition formatieren oder wenn das nicht der Fall ist zuerst Partition Tabelle erstellen und formatieren, beachte das x in Befehl muss du gemäß Bezeichnung deine Festplatte oder Stick anpassen, z.B. sda1 oder sdb1, etc.
# Nextcloud auf Raspberry 5
sudo parted /dev/sdx "mklabel gpt"
sudo mkfs -t ext4 /dev/sdx
SSD Festplatte oder USB Stick dauerhaft einbinden
Um eine SSD Festplatte dauerhaft auf deinem Raspberry Pi 5 einzubinden, kannst du die folgenden Schritte befolgen.
- Finde die UUID (Universally Unique Identifier) der erstellten Partition heraus mit:
# Nextcloud auf Raspberry Pi 5 - SSD mounten per fstab
sudo blkid
Jetzt bearbeiten wir Datei fstab mit sudo nano /etc/fstab und fügen wir ganz am Ende ein:
# Nextcloud auf Raspberry Pi 5 (SSD UUID)
UUID=UUID-von-deine-SSD /mnt/nextcloud ext4 defaults,nofail 0 1
Mit (Strg + O) Speichern und mit (Strg + X) nano Editor verlassen. Erstelle einen Ordner als Mountpunkt für die SSD Festplatte.
# Nextcloud auf Raspberry Pi 5 (mounten)
sudo mkdir /mnt/nextcloud
sudo systemctl daemon-reload
Aktualisiere die Mountpunkte mit sudo mount -a und mit df -Th Informationen anzeigen über die verfügbaren Speichergeräte.
Deine Nextcloud auf Raspberry Pi 5 SSD sollte jetzt dauerhaft in /mnt/nextcloud eingebunden sein und beim Start des Raspberry Pi 5 automatisch verbunden werden. Bitte beachte, dass Fehler beim Bearbeiten der fstab Datei zu schwerwiegenden Problemen führen können. Daher sei vorsichtig wenn du diese Datei bearbeitest.
- REIBUNGSLOS & STABIL - S101 SATA SSD erleben Sie einen deutlichen Geschwindigkeitsschub, dank modernster SATA 3.0- und SLC-Cache-Technologie. S101 SSD ist bis zu 10 Mal schneller als HDDs! Mit sequenziellen Lesegeschwindigkeiten von 550 MB/s und Schreibgeschwindigkeiten von 500 MB/s wird Ihr System in weniger als 10 Sek. gestartet. Ob beim Surfen, der Dokumentenverarbeitung, dem Streaming oder der Bearbeitung - die Aufgaben lassen sich mühelos erledigen, Verzögerungen gehören der Vergangenheit an und selbst ältere Rechner werden wiederbelebt!
- INTELLIGENT & SICHER - Ausgestattet mit Funktionen wie Trim, Smart, LDPC ECC, thermische Drosselung und Power Management, überwacht und regelt die S101 SATA SSD intelligent den Stromverbrauch und die Temperatur. Dies gewährleistet eine zuverlässige Leistung und schützt gleichzeitig Ihre wertvollen Daten und Geräte. Arbeiten Sie mit der Gewissheit, dass Ihre Dateien sicher sind!
- HOHE QUALITÄT & LANGLEBIGKEIT - S101 SATA SSD ist aus erstklassigem 3D-TLC-Flash-Speicher gefertigt und bietet Schreibgeschwindigkeiten und eine Lebensdauer (TBW), die doppelt so hoch ist wie bei vergleichbaren QLC-SSDs! Mit einer Lebensdauer von satten 512TBW bietet sie mehr als 524 Tage zuverlässige Nutzung, selbst wenn Sie sie einmal am Tag vollschreiben. Sie ist robust gebaut und bietet jahrelang zuverlässige Leistung.
- BREITE KOMPATIBILITÄT - S101 SSD SATA III mit dem Formfaktor 2.5 Zoll ist perfekt geeignet für Laptop, Desktop und PS4. S101 SSD SATA unterstützt die meisten Systeme, wie Windows 7,8,10,11;MAC OS;LINUX. Benötigen Sie Hilfe bei der Kompatibilität? Unser 24-Stunden-Support steht Ihnen zur Verfügung.
- VERTRAUENSWÜRDIGE SPEICHERMARKE - Mit 20 Jahren Erfahrung in der SSD-Branche und langjähriger Zusammenarbeit mit führenden Marken bieten unsere SSDs eine Leistung und Qualität, die der bekannter Markenprodukte in nichts nachsteht und das Vertrauen von Kunden auf der ganzen Welt gewonnen hat. Mit einem fünfjährigen zufriedenstellende Service bieten wir Ihnen zusätzliche Sicherheit und Sorgenfreiheit. Kommen Sie zu uns und erleben Sie den Unterschied selbst.
Installation von Docker und Docker Compose
Docker ist eine Plattform zur Containerisierung von Anwendungen, die es ermöglicht, Software in leichtgewichtigen, portierbaren Containern zu verpacken und auszuführen. Docker Compose ist ein Tool, das die Definition und Verwaltung von Docker-Anwendungen mit mehreren Containern ermöglicht. Es ermöglicht Anwender, Konfigurationen in einer einzigen Datei zu spezifizieren (docker-compose.yml genannt), die dann verwendet wird, um mehrere Container gleichzeitig zu erstellen und zu starten.
# Nextcloud auf Raspberry Pi 5 - Docker & Docker Compose
sudo apt install docker.io docker-compose -y
Docker und Docker Compose sind installiert und weiter geht mit:
# Nextcloud auf Raspberry Pi 5 - Verzeichnis erstellen
sudo mkdir /home/pi/nextcloud
sudo mkdir /home/pi/nextcloud/app
sudo mkdir /home/pi/nextcloud/html
sudo mkdir /home/pi/nextcloud/config
sudo mkdir /home/pi/nextcloud/mariadb
sudo mkdir /mnt/nextcloud/data
Das Datenverzeichnis (data) für Nextcloud wird normalerweise während der Installation festgelegt. Standardmäßig befindet sich das Datenverzeichnis in einem Unterverzeichnis innerhalb des Nextcloud-Installationsverzeichnisses. |
Jetzt machen wir noch die Rechte auf SSD (data Ordner) passend für User www-data mit sudo chown -R www-data:www-data /mnt/nextcloud/data. Das Datenverzeichnis kann auch außerhalb des Nextcloud-Installationsverzeichnisses liegen und an einem von dir festgelegten Ort platziert sein.
YML Datei für Nextcloud auf Raspberry Pi 5 erstellen
Wenn du eine docker-compose.yml Datei für Nextcloud im Verzeichnis /home/pi/nextcloud auf deinem Raspberry Pi 5 erstellen möchtest, kannst du einen Texteditor deiner Wahl verwenden. Hier ist ein einfaches Beispiel mit nano, einem einfachen Texteditor:
# Nextcloud auf Raspberry Pi 5 - Docker-Compose.yml
cd /home/pi/nextcloud
sudo nano docker-compose.yml
# danach einfügen
version: '2'
services:
mariadb:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
ports:
- 8022:3306
volumes:
- /root/nextcloud/mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=Passwort
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=root
nextcloud:
image: nextcloud
restart: always
ports:
- 8080:80
links:
- mariadb:mysql
volumes:
- /home/pi/nextcloud/html:/var/www/html
- /home/pi/nextcloud/apps:/var/www/html/custom_apps
- /home/pi/nextcloud/config:/var/www/html/config
- /mnt/nextcloud/data:/var/www/html/data
environment:
- MYSQL_PASSWORD=Passwort
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=root
- MYSQL_HOST=mariadb
Anpassung von yml Datei ist fertig, Nextcloud und Datenbank Installation kannst dann mit sudo docker-compose up -d starten.
Nach ein paar Minuten sind mit Docker MariaDB und Nextcloud installiert, jetzt mit http://Raspi-IP:8080 Nextcloud-Weboberfläche wählen und Nextcloud-Installation abschließen.
Nginx Proxy Manager – Docker Installation
Nginx Proxy Manager (NPM) ist eine webbasierte Oberfläche für die Verwaltung von Nginx als Reverse-Proxy-Server. Es ermöglicht Benutzern, einfach und effizient verschiedene Aspekte eines Nginx-Reverse-Proxys zu konfigurieren, einschließlich Routen, SSL/TLS-Zertifikaten, Lastausgleich, Sicherheitseinstellungen und mehr.
Also, du kannst Nginx Proxy Manager verwenden, um Fernzugriff auf deine Geräte zu ermöglichen, wie zum Beispiel dein Zuhause. Das ist super praktisch, wenn du auf bestimmte Geräte oder Dienste zugreifen musst, die nur von einem bestimmten Netzwerk aus erreichbar sind.
Einige der Funktionen von Nginx Proxy Manager umfassen:
- Benutzerfreundliche Oberfläche: Nginx Proxy Manager (NPM) bietet eine intuitive webbasierte Oberfläche, über die Benutzer Proxy-Routen erstellen, konfigurieren und verwalten können, ohne direkt in die Konfigurationsdateien von Nginx eingreifen zu müssen.
- SSL/TLS-Zertifikatverwaltung: Es ermöglicht die einfache Einrichtung und Verwaltung von SSL/TLS-Zertifikaten (Letsencrypt) für die verschlüsselte Kommunikation zwischen dem Reverse-Proxy und den Clients.
- Lastausgleich: NPM unterstützt die Konfiguration von Lastausgleichsmechanismen, mit denen eingehende Anfragen auf verschiedene Backend-Server verteilt werden können, um die Last zu verteilen und die Leistung zu optimieren.
- Sicherheitseinstellungen: Es bietet Funktionen wie IP-Whitelisting, Rate-Limiting und Web Application Firewall (WAF)-Funktionen, um die Sicherheit des Reverse-Proxys und der dahinterliegenden Dienste zu erhöhen.
- Protokollierung und Überwachung: NPM bietet Protokollierungs- und Überwachungsfunktionen, mit denen Administratoren die Leistung und Verfügbarkeit des Reverse-Proxys überwachen und bei Bedarf Probleme diagnostizieren können.
Eines der wichtigsten Argumente für NPM Einsatz ist der Sicherheitsaspekt. Der Proxy agiert als einzig sichtbare Instanz nach außen. Alle dahinterliegenden Dienste bleiben für Angreifer unsichtbar. Mit Reverse-Proxy ist es schließlich auch möglich, auf der gleichen Maschine mehrere Anwendungen oder Webseiten laufen.
Ports im Router freigeben: So wird es gemacht
Grundsätzlich funktioniert die Freigabe von Ports immer ähnlich. Du musst die Ports 80 und 443 über eine Fritzbox freigeben, gehst folgendermaßen vor:
- Öffne einen Webbrowser und gehe zur Benutzeroberfläche deiner Fritzbox. Die Standardadresse ist normalerweise http://fritz.box oder http://192.168.178.1. Melde dich mit deinen Anmeldedaten an.
- Suche nach den Einstellungen für Portfreigaben oder Portweiterleitung. Diese befinden sich normalerweise unter „Internet“ oder „Freigaben“ in den Einstellungen deiner Fritzbox.
- Füge einen neuen Eintrag hinzu, um die Ports 80 und 443 freizugeben. Wähle dazu den Dienst „HTTP“ für Port 80 und „HTTPS“ für Port 443 aus. Trage dann die interne IP-Adresse des Zielservers ein (dort wo schon läuft Nextcloud auf Raspberry Pi 5), auf dem deine Dienste gehostet werden.
- Speichere die Einstellungen und übernehme sie. Deine Fritzbox sollte nun die Ports 80 und 443 an den entsprechenden Server weiterleiten.
Feste IP Adresse für Raspberry Pi zuweisen: Eine statische IP-Adresse gewährleistet, dass dein Raspberry Pi 5 immer die gleiche IP-Adresse hat und nicht jedes Mal eine neue zugewiesen bekommt, wenn es sich im Netzwerk anmeldet. Dadurch bleibt die Portweiterleitung auf deine Dienste stabil, da sie auf die festgelegte IP-Adresse verweisen. |
Nginx Proxy Manager mit Docker Compose installieren
Die Installation von NPM (Nginx Proxy Manager) ist sehr einfach und wird schnell durchgesetzt. Zuerst erstellst du ein Verzeichnis mit sudo mkdir /home/pi/npm, danach wird in cd /home/pi/npm Ordner betreten und mit nano Editor docker-compose.yml erstellt:
# Nextcloud auf Raspberry Pi 5 - NPM Compose
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- /home/pi/npm/data:/data
- /home/pi/npm/letsencrypt:/etc/letsencrypt
Mit schon vertrauten Befehl sudo docker-compose up -d Container NPM erstellen, braucht etwas Zeit und danach mit docker ps kontrollieren ob NPM läuft. Benutzeroberfläche erreichst du mit http://Raspi-IP:81 inklusive Port 81, Benutzername: [email protected] und Passwort: changeme, nachher die Benutzer und Passwort sofort ändern. Konfiguration von Weiterleitungen ist sehr einfach und kannst alles hier bzw. hier nachlesen.
Collabora – Office Lösung für Nextcloud auf Raspberry Pi 5
Collabora Office ist eine Suite von Office-Anwendungen, die auf dem Open-Source-Office-Projekt LibreOffice basiert. Es bietet eine umfassende Palette von Office-Tools für Textverarbeitung, Tabellenkalkulation, Präsentationen und mehr. Collabora Office kann sowohl als eigenständige Desktop-Anwendung als auch in Cloud-Umgebungen wie Nextcloud verwendet werden. In der Cloud-Umgebung ermöglicht es die gemeinsame Bearbeitung von Dokumenten in Echtzeit, was die Zusammenarbeit zwischen Teammitgliedern erleichtert.
Um Nextcloud mit Collabora Office zu integrieren, kannst du Docker verwenden, beide Anwendungen werden in separaten Containern ausgeführt. Das Spiel ist gleich wie beim NPM, zuerst erstellst du mit sudo mkdir /home/pi/collabora Verzeichnis und danach mit cd /home/pi/collabora Verzeichnis betreten.
Hier kannst wieder docker-compose.yml mit sudo nano docker-compose.yml erstellen:
## Nextcloud auf Raspberry Pi 5 - Collabora Office
version: '3'
services:
collabora:
image: collabora/code
restart: always
ports:
- "9980:9980"
environment:
- domain=cloud.example.com
- username=admin
- password=example
Die fett markierten Positionen musst du noch anpassen, DynDNS Adressen für deine Nextcloud und Collabora Office kannst z.B. bei DuckDNS kostenlos beantragen. Jetzt starte Befehl sudo docker-compose up -d und Collabora Office Container wird installiert. Danach prüfe noch mit docker ps ob Container läuft, bzw. kannst auch mit Browser die Adresse https://Raspi-IP:9980 abrufen, als Antwort bekommst du eine weiße Seite mit OK Bestätigung.
Collabora Office kannst auch mit nur ein Befehl installieren:
## Nextcloud auf Raspberry Pi 5 - Collabora Office
docker run -t -d -p 9980:9980 -e "domain=cloud\\.domain\\.com" --name=COLLABORAOFFICE --restart always --cap-add MKNOD collabora/code
Die fett markierte Teile musst du auf deine DynDNS Adresse anpassen, die Schrägstriche müssen bleiben (z.B. nextcloud\\.meine-seite\\.de)
Zusammenspiel von NPM, Nextcloud und Collabora Office
Am Ende musst du die drei Komponenten zusammenarbeiten lassen:
- Du muss jetzt gemäß Nginx Proxy Manager Anleitung: Proxy für Nextcloud erstellen, Domainname eintragen, interne IP-Adresse inklusive Port, dann SSL Zertifikat und was sehr wichtig ist, unter „Advanced“ eintragen:
# Nextcloud auf Raspberry Pi 5 - NPM Advanced
location /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/webfinger {
return 301 $scheme://$host/index.php/.well-known/webfinger;
}
location /.well-known/nodeinfo {
return 301 $scheme://$host/index.php/.well-known/nodeinfo;
}
- Für Collabora Office musst du das gleiche Spiel machen, natürlich mit Daten für Collabora Container und unter „Advanced“ noch eintragen:
# Nextcloud auf Raspberry Pi 5 - Collabora Office
# static files
location ^~ /loleaflet {
proxy_pass $forward_scheme://$server:$port;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass $forward_scheme://$server:$port;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/lool/(.*)/ws$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass $forward_scheme://$server:$port;
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# download, presentation and image upload
location ~ ^/lool {
proxy_pass $forward_scheme://$server:$port;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /lool/adminws {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass $forward_scheme://$server:$port;
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
Unter Nextcloud sind auch ein paar Einstellungen zu machen. Zuerst unter Apps „Nextcloud Office“ suchen und installieren, danach unter Verwaltungseinstellungen >> Verwaltung auf Office klicken und Collabora Office Server-Adresse eintragen.
Danach bisschen nach unten scrollen und unter „Allow list for WOPI requests“ die eigene Heimnetzwerk Adresse eintragen: z.B. 192.168.x.x/24. Soweit ist alles fertig und du kannst dein Raspberry Pi 5 als Cloud bzw. Office Server benutzen.
- Rehr, Jan (Author)
Insgesamt bietet das Zusammenspiel von NPM, Collabora Office und Nextcloud eine robuste Lösung für die Zusammenarbeit und Dokumentenverwaltung in der Cloud. Es ermöglicht Teams, effizient zusammenzuarbeiten, Dokumente sicher zu speichern und zu teilen, sowie produktive Office-Anwendungen zu nutzen, alles innerhalb einer integrierten und skalierbaren Umgebung.
Ein Nextcloud auf Raspberry Pi 5 ist eine kostengünstige, energiesparende Lösung für persönliche Cloud. Durch die Ausführung von Nextcloud auf Raspberry Pi 5 haben Sie vollständige Kontrolle über Ihre Daten und können sicherstellen, dass sie sicher und privat gespeichert werden.