Skip to main content

Unraid x Nextcloud x Onlyoffice

Dieser Eintrag beschreibt den Vorgang einer Nextcloud Installation auf Unraid und die anschließende Anbindung an eine Selbstgehostete Onlyoffice Instanz. Zusätzlich wird eine MariaDB Datenbank angelgt und die Zugriffzeiten mit Redis optimiert. Onlyoffice wurde dabei gewählt um eine bessere Kompatibilität mit der O365 Suite von Microsoft gewährleisten zu können.

Ziel soll es sein eine flüssige Installation anbieten zu können welche ebenfalls im Nextcloud Security Scan eine Wertung von A+ erreicht.

Spoiler:

image.png

Vorbereitung

  • Abgeschlossene Unraid Installation und Ersteinrichtung
  • Alle Installation können direkt aus dem Unraid Community Store heruntergeladen werden
  • Erstellung eines Custom Netzwerks "nextcloud" dieses kann über die Unraid Shell mit dem Befehl:
     
    docker network create nextcloud
    erstellt werden.

Erstellung der Datenbank

Grundlage eine Nextcloud Installation stellt eine Datenbank da. Hier werden alle Daten und Porgramm-Einstellungen abgespeichert. Diese Datenbank muss bei der Ersteinrichtung der Nextcloud angebeben werden, weshalb eine vorherige Einrichtung lohnenswert ist.

Als Datenbank würde sich für eine MariaDB, MySQL Datenbank entschieden. Diese ist besonderes einfach einzurichten, zufärllässig und kann einfach gebackuped werden. Als Installations-Image nutzen wir das mariadb des linuxserver's Repository Networks. Diese erhalten regelmäßig Updates und haben sich bereits in der Vergangenheit als Stabil und zuverlässig herausgestellt.

image.png

Installiert wurde das Ganze mit folgenden Einstellungen:

image.png

image.png

Wichtig dabei ist, dass die Kennworter nicht verloren gehen und der Appdata Pfad angepasst wird. Hier empfiehlt es sich die Datenbank entweder auf dem Unraid Cache oder auf SSDs zu legen umd die Zugriffzeiten zuminimieren und somit die Leistung der Nextcloud stark zu steigern. Zusätzlich muss bei Netzwerktyp, das zuvor erstellte Netzwerk "nextcloud" ausgwählt werden.

Der MYSQL_USER, MYSQL_PASSWORD sind später für Nextcloud wichtig und werden des Weiteren auch für die Backups benötigt. Sind alle Einstellungen angepasst kann die Installation gestartet werden. Anschließend sollte die Datenbank unter "Docker" erscheinen.

image.png

Redis Installation

Bei Redis handelt es sich um eine In-Memory-Datenbank mit einer einfachen Schlüssel-Werte-Datenstruktur, was es zu einer No-SQL-Datenbank macht. In unserem Fall fungiert Redis dabei als Cache, zwischen der MySQL-Datenbank und der eigentlichen Nextcloud Installation. Genutzt wird hier das Offizielle Image.

image.png

Redis kann dabei ebenfalls aus dem AppStore installiert werden. Hier wurden folgenden Einstellungen getroffen:

image.png

Auch hier ist nicht zu vergessen, dass als Netzwerktyp, das zuvor erstellte Netzwerk "nextcloud" ausgwählt wird. Die Installation ist anschließend ebenfalls unter Docker aufzufinden:

image.pngimage.png

Nextcloud Installation

Jetzt wo wir alle nötigen Voirbereitungen getroffen haben, kann zur tatsächlichen Nextcloud Installation übergegangen werden, Hier wird sich wie zuvor auch am internenen Unraid Store bedient. Als Image wurde folgender gewählt:

image.png

Hier werden bei der Installation folgende Informationen mitgegeben;

image.png

image.png

Der Nextcloud Administration Account und die Datenbank werden beim ersten aufrufen der Webseite angelegt / hinterlegt. Nach der Installation sollte die App ebenfalls unter Docker auftauchen:

image.png

Die Weboberfläche ist anschließend über http://[Server-IP]:8666 erreichbar.

image.png

Ganz oben kann hier der Administratoren Account mit Passwort angelegt werden. Um die Datenbank zu verbinden muss auf "Speicher & Datenbank" geklickt werden. Anschließend kann auf "MySQL/MariaDB" gewechselt werden und hier die Daten für den Datenbankzugriff hinterlegt werden. Wichtig ist hier, dass nicht der root User der Datenbank hinterlegt werden muss sondern der normale nexctloud_db_user mit zugehörigen Passwort verwendet werden kann.

image.png

Der Port kann dabei aus der Docker-Ansicht entnommen werden:

image.png