Synology: Nextcloud und Docker installieren

Heute möchte ich euch zeigen, wie ihr mit einer Synology NAS eine private Cloud einrichten könnt. Dazu installieren wir auf einem Synology NAS System die beliebte Nextcloud Umgebung als Data Storage System.

Was könnt ihr damit tun? Ich nutze die private Cloud, um Daten mit Freunden und der Familie zu teilen. Fotos, die ich mit dem Smartphone aufnehme, lädt die passende Android App automatisch in die Nextcloud.

Was werden wir alles tun? Wir werden auf der Synology 218+ die Docker-Anwendung installieren, ein Datenbankimage, das Nextcloud-Image, und ein Zertifikat installieren, sowie verschiedene Weiterleitungen einrichten. Ich nutze hier die Synology DS 218+.

Diese verfügt über einen Dual Core Intel-Prozesssor, sowie 2GB RAM und im Moment sind 4TB für Daten vorgesehen. Das Model verfügt über mehr als 100MB Datentransferrate pro Sekunde, sowie das Btrfs-Dateisystem.

Die Herausforderung ist, dass ich die Nextcloud auf der Synology 218+ betreiben möchte, sie aber unter der indibit.de Domain erreichbar sein soll. Dafür nutze ich eine einfache Redirect Chain.

Redirect chain domain synology router reverse proxy

Redirect chain von der Domain zum Docker Container

Idee zum Verschenken für Weihnachten: Du möchtest lernen, wie man Tiere oder Gesichter malt oder dieses Online-Video-Training verschenken? Dann schau bei den Kollegen von Happy Painting vorbei.
BK1

oder verschenke ein ebook in dem man lernt, wie die milchstrasse fotografiert werden kann

Slider

Die Synology, Docker und Nextcloud  einrichten

Docker und Nextcloud installieren

Wir installieren heute als erstes Docker auf der Sysnology. Docker ist ein System zur Applikationsvirtualisierung. Das heißt, die Applikationen werden nicht als solche auf der Synology (oder welchem Host-System auch immer) direkt installiert sondern sind in der Docker-Infrastrukur als Abbild bzw. Container vorhanden. Diese Container können von anderen Docker-Containern oder aus dem Netzwerk heraus angesprochen werden. Die Container können bei Bedarf gestartet und beendet werden, sowie lassen sich zum Installationszeitpunkt Dateipfade auf das Host-System ausleiten, so der Host bzw. User des Hosts auf die Daten des Containers über das Filesystem zugreifen können.

Das Docker Container-Management auf einer Synology lässt ein einfaches installieren der Container zu, ohne das hier die Kommandozeile bemüht werden muss.

Wer mehr über Docker, die Technologie dahinter, deren Anwendungszweck usw. erfahren möchte, dem sei dieses Buch hier ans Herz gelegt!

Über das Paketzentrum suchen wir nach „Docker“ und installieren das Paket.

Docker auf der Synology über den Paketmanager installieren

Installation des Docker-Pakets auf der Synology Disk Station

Container herunterladen

Nach dem Start der Docker-Anwendung müssen wir zwei Container kopieren und installieren. Eine Datenbank und die Nextcloud selbst. Der Einfachheit halber installieren wir MariaDB (MySQL-Ableger) und den Nextcloud Container. In der Docker-Anwendung können unter dem Menü „Registrierung“ die passenden Images geladen werden.

Maria DB Container kopieren

Kopieren des MariaDB Containers

Installation der neusten Version von Maria DB

Immer die neuste Version wählen

den Next Cloud Container herunterladen

Download des Next Cloud Container

 

Die Docker Container aktivieren

Auf die Synology wurden Next Cloud uund MariaDB heruntergeladen

Die Images (Abbilder in der Docker-Verwaltung genannt) sind heruntergeladen. In dem Abschnitt „Abbilder“ können wir die einzelnen heruntergeladen Images sehen.

Bitte beachtet immer die Informationsseiten zu den Containern. Hieraus gehen hervor, welche Parameter gesetzt werden müssen und welche Ordner sich auf das Host-System mappen lassen. Beispiel: https://hub.docker.com/_/mariadb/

Der nächste Schritt:

Aus den heruntergeladenen Images machen wir jetzt lauffähige Container. Dazu brauchen die Images noch eine Parametrisierung wie Speicher- und Netzwerkeinstellungen.

Netzwerkeinstellungen

Die Anschluss der Container an das Netzwerk kann auf drei Wegen stattfinden.

  1. Ein Container kann direkt an das Netzwerk des Hosts angeschlossen werden, so dass er „normal“ über die IP des Hosts erreichbar sind. In dem Fall sind die Netzwerkdienste des Containers direkt erreichbar.
  2. Ein Container kann über eine Netzwerkbrücke erreichbar gemacht werden. Dieser sog. Bridge mode kapselt den Container stärker als in Fall 1. Der Container ist nicht direkt aus dem Netzwerk erreichbar, sondern für ihn müssen erst noch Portweiterleitungsregeln definiert werden. Der Vorteil ist hier, dass schon belegte Ports des Hosts über frei belegbare Ports in den Container gemapped werden können. Beispiel: der Host und Container lauschen beide auf Port80. Somit kann ein Mapping von z.B. 8080 auf 80 erfolgen. Der Host stellt in diesem Fall Port 8080 zur Verfügung – bei Zugriff leitet die Docker-Anwendung den Netzwerkverkehr auf Port80 des Containers um.
  3. Dediziertes eigenes Docker-internes Netzwerk. Container innerhalb dieses eigenen Netzwerkes, welchen auf dem Host definiert wird, können dann direkt miteinander kommunizieren.

Für dieses Beispiel machen wir es so, dass die Datenbank im Hostnetz betrieben wird und die Nextcloud über eine Bridge erreichbar ist, da Port 80 und 443 von der Synology schon genutzt werden. Wie die Nextcloud erreichbar gemacht wird, zeige ich später.

Pfade für Docker-interne Ordner

Container-interne Pfade können von außen (der Synology-File-Station) zugänglich gemacht werden, so dass diese auf dem Host zugänglich sind. Vorteil: in Konfigurationsdateien können Änderungen vorgenommen werden. Dateien und Ordner lassen sich direkt in ein Backup einbeziehen, ohne den kompletten Container zu sichern.

Der MariaDB – Container

Das Image haben wir schon heruntergeladen. Nun machen wir aus dem Image einen lauffähigen Container:

In dem Bereich Abbild wählen wir erst das mariadb:latest Image aus und klicken dann auf starten. Und Nein, in dem Fall wird nicht der Container gestartet sondern sondern der Konfigurationsdialog.

Aus dem MariaDB Image einen Container machen

MariaDB als Container bereitstellen

An dieser Stelle vergeben wir einen Namen für den Container, belassen alle Standardeinstellungen und klicken auf „Erweiterte Einstellungen“

Einen Namen vergeben und Erweiterte Einstellungen aufrufen

Einen Namen vergeben und Erweiterte Einstellungen aufrufen

Folgende Einstellungen setzen wir:

  • Automatischer Neustart aktivieren
  • Volume: Ordner hinzufügen -> neuer Ordner -> „Docker“ und darunter „mariaDB“. MountPfad:/var/lib/mysql
  • Netzwerk: das selbe Netzwerk wie Docker Host verwenden
  • Umwelt: neuer Parameter: MYSQL_ROOT_PASSWORD und ein beliebiges Passwort. Ein Hinweis an dieser Stelle: Ich hatte beim ersten Test ein Sonderzeichen im Passwort, womit ein Login im Nachgang nicht mehr möglich war. Deshalb nutze ich hier zum Testen ein einfaches Passwort ( pass1234 ) .
  • klick auf „Übernehmen“ -> „Weiter“ -> „Übernehmen“

Datenbank und Nutzer anlegen

Dieser MariaDB Container kann nun beliebige Datenbanken beherbergen – nicht nur für Nextcloud, auch andere Anwendungen. Im nächsten Schritt legen wir eine Datenbank und einen Nutzer an. Diese werden dann von Next Cloud genutzt.

In der Docker Anwendung ist dazu unter „Container“ der mariadb-Container auszuwählen. Mit einem Klick auf „Details“ öffnet sich ein Parametrisierungsdialog. Der Reiter „Terminal“ muss geöffnet, auf „Erstellen“ und dann auf „bash“ geklickt werden

Klickreihenfolge in den Dialogen

Klickreihenfolge in den Dialogen

Als nächstes erstellen wir die Datenbank (Datenbankname: nextcloud) und erstellen einen berechtigten User (username: nextadm mit Passwort pass1234). Erst erfolgt das Einloggen des root-Users mit dem Passwort, welches in dem Container-Parameter MYSQL_ROOT_PASSWORD vergeben wurde (in diesem Beispiel  pass1234)

mysql -p
create database nextcloud;
create user 'nextadm'@'localhost' identified by 'pass1234';
grant all privileges on nextcloud.* to 'nextadm'@'%' identified by 'pass1234';

Damit ist die Bereitstellung der MariaDB-Datenbank als Dockercontainer sowie als nutzbare Datenbank selbst abgeschlossen.

den Nextcloud Container bereitstellen

Auf dem selben Weg wie bei MariaDB erzeugen wir aus dem Abbild/Image heraus den lauffähigen Container. Dazu klicken wir wieder  unter „Abbild“ auf Nextcloud und auf den Button Starten

Folgende Parametrisierung vergeben wir:

Containername: nextcloud

und tragen unter den „erweiterten Einstellungen“ folgendes ein:

  • automatischer Neustart aktiviert
  • Volume unter dem Ordner „docker“ erzeugen wir einen neuen Ordner: „nextcloud“ und tragen als MountPfad /var/www/html  ein
  • Netzwerk: bleibt unverändert auf Bridge
  • Port-Einstellungen: unter lokaler Port änderen wir von automatisch auf 8080

und klicken im Anschluss auf „Übernehmen“ -> „Weiter“ -> „Übernehmen“

Im Anschluss sehen wir unter „Übersicht“, dass beide Container laufen und deren Auslastungsinformationen:

Synology: Docker-Anwendung zeigt die laufenden Container

Portweiterleitungen einrichten

Damit ein Zugriff aus dem Internet auf unsere lokale Nextcloud Instanz möglich wird, richten wir eine Portweiterleitung ein.

Wir leiten die Ports 80 und 443 auf die IP der Synology um. Beispielhaft zeige ich hier die Konfiguration an meinem WRT-Router.

eine Portweiterleitung zu Synology muss eingerichtet werden. Port 80 und 443 werden weitergeleitet

Portweiterleitung zur Synology

ein Zertifikat installieren

Damit der Transport der Daten vom Server zum Client über die Leitung verschlüsselt ist, installieren wir ein Zertifikat. Dieses Zertifikat liegt nicht in den Docker Containern, sondern direkt auf der Synology selbst. Da der Endpunkt die Synology ist, reicht das an dieser Stelle so aus. Wir beziehen von Let’sEncrypt ein kostenloses anerkanntes Zertifikat, welches die Verbindung absichert.

Wie habe ich es gemacht? Die Synology steht zuhause im LAN und ist über einen DynDNS Provider von außen, aus dem Internet, erreichbar. Ich möchte aber, dass die Nextcloud über den Domainnamen next.indibit.de erreichbar ist.

Folgende Konfiguration liegt also vor:

  • Synology: lokal über IP im LAN
  • public host name: DynDNS: nextwolke.ddns.net
  • public domain name: next.indibit.de

Für das Zertifikat heißt das, dass wir die Verbindung zu zwei Namen absichern können / wollen. Je nachdem, welcher Domain Name aufgerufen wird. Wie die Umleitung von von der public domain auf den public hostname realisiert wird, zeige ich im übernächsten Abschnitt.

Auf der Synology finden wir unter Systemsteuerung -> Sicherheit -> Zertifikat die Stelle zum erzeugen und abfragen des Zertifikates. Über folgende Schritte gelangen wir zu dem kostenlosen Zertifikat.:

  • Hinzugügen
  • Neues Zertifikat hinzufügen
  • Beschreibung: Next-Zert
  • als Standardzertifikat setzen ( Vorsicht, hier könnte es Probleme geben, wenn ihr die Synology über den Namen und https ansprechen wollt – ggf. heiraus verzichten und dem Zertifikat dedizierte Dienste zuweisen)
  • Zertifikat von Let’s Encrypt abrufen
installiertes Zertifikat

Das Zertifikat von let’s encrpyt ist installiert

einen Reverse Proxy auf der Synology Diskstation installieren

Da der Nextcloud-Container selbst kein sichere Verschlüsselung via https implementiert hat, ist hier die Empfehlung einen Reverse-Proxy vorzuschalten.

Hinweis: Postet gern eure Erfahrungen in die Kommentare, ob und wie ihr mit Brut Force Attacken zurecht kommt. Ich konnte noch nicht testen, ob der Brute Force-Schutz von Nextcloud den gesamten Zugriff durch die Nutzung des Revers Proxys im Falle einer Atacke sperrt.

Der Reverse Proxy nimmt die Web-Anfragen von außen entgegen und leitet sie entsprechend des addresierten Domainnamen weiter. Somit könnt ihr verschiedene Systeme verfügbar machen, die alle auf den selben Ports lauschen. (Z.b. verschiedene Nextcloud-Instanzen, die auf Port 80 lauschen, aber unterschiedliche IP’s oder Namen haben. Oder damit lassen sich auch verschiedene Webserver im Allgemeinen adressieren. Notwendig sind dafür nur verschiedene Namen. Ein weiterer Vorteil ist, dass der Reverse-Proxy hier die Übersetzung vom unsicheren http ins sichere https macht. Die Reverse Proxy Einstellungen findet ihr unter Systemsteuerung -> Anwendungsportal -> Reverse Proxy

Das heißt, wie benötigen hier zwei Regeln

  1. Regel: unsichere http zu https umleiten
  2. Regel: sichere https Anfragen direkt zum Nextcloud Container durchleiten

1. Regel: HTTP -> HTTPS2. Regel: HTTPS -> Nextcloud

 

Eine öffentlich zugängliche Domain umleiten

Damit die Nextcloud unter der indibit Domain erreichbar ist, habe bei beim Provider die DNS-Einstellungen angepasst. In der Regel erlauben die meisten Provider solche Anpassungen, ggf. muss man beim Support anrufen. Ich habe eine CNname – Record gesetzt. Der CName Record erlaubt die Weiterleitung der aufgerufenen Domain auf einer weitere Domain. In diesem Fall also von next.indibit.de auf nextwolke.ddns.net. Von da aus, geht es dann per DynDNS weiter auf den Router zuhause und der leitet an die Synology weiter, die wiederum die Anfragen per Revers Proxy an den Nextcloud Docker Container weiterleitet.

DNS CNAME Einstellung beim Provider

DNS CNAME Einstellung beim Provider

Das Konfigurieren der CNname Records geht in der Regel recht schnell, jedoch kann es bis 24h dauern, bis sie vom Home-PC so genutzt werden können

Nextcloud-Installation abschließen

Als letzen Schritt rufen wir die Domain auf, unter der wie die Nextcloud erreichen. ( In meinem Fall: next.indibit.de)

In diesem Schritt werden die administrativen Daten angegeben.

Nextcloud Applikationsadministrator + Password

An dieser Stelle legen wir einen neuen Account an. Dieser ist der Administrator-Account für die Nextcloud Anwendung selbst

Datenbankverbindungsdaten

Wichtig: Unter Speicher & Datenbank schalten wir auf MySQL/MariaDB um und tragen die Daten ein, die wir beim Anlegen des Datenbank-Containers vergeben haben (nextadm und pass1234). Der Datenbankname entspricht dem, den wir im selben Schritt vergeben haben (hier „nextcloud“)

Als Servername gebe ich die IP und den MariaDB Port an. Die Angabe des Namens der Synology funktioniert auch.

Nextcloud Setup. Eintragen der administrativen Daten

Nach ein paar Sekunden zeigt sich die Nextcloud-Oberfläche und steht zur Verwendung bereit:

Nextcloud Oberfläche

In einem zweiten Teil werde ich auf die Automatisierung der Nextcloud Hintergrund-Jobs eingehen sowie die Aktualisierung der Docker-Container.  Bis dahin wünsche ich euch viel Spaß und bitte Euch darum fleißig zu kommentieren, wo es bei der Installation klemmt und ob Ihr Probleme mit den Brute Force Attacken feststellen konntet.

Idee zum Verschenken für Weihnachten: Du möchtest lernen, wie man Tiere oder Gesichter malt oder dieses Online-Video-Training verschenken? Dann schau bei den Kollegen von Happy Painting vorbei.
BK1

oder verschenke ein ebook in dem man lernt, wie die milchstrasse fotografiert werden kann

Slider

Quellen:

https://www.heise.de/ct/ausgabe/2018-10-Nextcloud-als-Docker-Instanz-im-NAS-einrichten-4028150.html

Reverseproxy der Diskstation – Ein geiles Ding


https://forum.synology.com/enu/viewtopic.php?t=117962
https://www.synology.com/de-de/knowledgebase/DSM/help/DSM/AdminCenter/application_appportalias#acl
https://hub.docker.com/_/nextcloud/

Synology DiskStation Let’s Encrypt SSL-Zertifikat installieren


https://www.synology.com/de-de/dsm/packages/Docker
https://www.pcwelt.de/a/nas-virtualisierung-so-klappt-s-bei-synology,3446512

Synology Reverse Proxy Guide from synology

Heiko

Heiko

Ich bin Entwickler und Koordinator für Datenbanken, Data Warehouse Systeme und IT im Gesundheitswesen. Spezialisiert habe ich mich auf MS-SQL SSIS, SSAS und Data Vault. Im Jahr 2008 startete ich bei einem Pharmaunternehmen in Leipzig und seit 2015 bin ich in im Forschungsumfeld beschäftig. Ich persönlich beschäftige mich vor allem mit den Themen Datenintegration, -qualität und -analyse. Das Tolle an meinem Job ist, dass ich immer sehr abwechslungsreiche und verantwortungsvolle Projekte begleiten darf. Im privaten Umfeld beschäftige ich mich gern mit den Themen Fotografie, Flugmodellbau und dem Wassersport. Ich freue mich darauf hier einige interessante Beiträge zu publizieren und überentsprechende Kritiken und Feedback.
Heiko

51 Comments

  1. Pingback: Synology: Nextcloud Automatisierung mit cron jobs - indiBit

  2. Antworten Steffen

    Hallo

    leider klappt die Eingabe des Uses beim anlegen der DB nicht. Kannst du da behilflich sein?

    Grüße Sreffen

    • Antworten DK

      Hatte ich zuerst auch. Sicher, dass du das Semikolon gesetzt hast am Ende der Zeile im Terminal?

      • Antworten Steffen

        Genau das war das Problem.
        Gibt es einen Workaround eine vorhandene Installation (Daten) zu übernehmen.

  3. Antworten PV

    Lieber Heiko, Vielen Dank – finde den Beitrag toll aufbereitet und würde mich freuen wenn Du noch einen Teil über das Updaten von diesen beiden Docker Containern für Synology machen würdest! 🙂

  4. Antworten stulpinger

    Hi,
    Wirklich eine tolle und nachvollziehbare Anleitung – Hut ab
    Es funktioniert Alles einwandfrei, nur ….
    Habe eine normale Installation von nextcloud auf meiner DS1817+ laufen, konfiguriert nach diversen Anleitungen, die auch einwandfrei funktioniert !
    Es sind knapp 8 GB an Daten die ich umkopieren müsste, beim Kopieren über die File-Station (wäre eigentlich die schnellste Variante),
    d.h. vom Verzeichnis /web/user/data/files nach /docker/nextcloud/data/user/files habe ich das Problem, dass die Daten zwar kopiert werden, aber keine Dateien sichtbar sind, wenn ich unter next.xxx.at mit dementsprechenden login per „user / Passwort“ meine Anmeldung durchführe – sicher ein Berechtigungsproblem, da Besitzer vom Ordner /docker/nextcloud/data/user/files „33“ ist bzw Besitzer von /web/user/data/files ist es der Synology http-User ….

    Ein kopieren per drag and drop (OS ist WIN10) funktioniert, Dateien sind ersichtlich, aber es ist grottenlangsam, laut Resourcen-Monitor ca. 3 MB/s up bzw 3 MB/s down, anscheinend wird von „extern“ auf „extern“ kopiert

    Hättest Du einen Tip, wie ich das Ganze beschleunigen könnte

    LG aus Kärnten, momentan 30° 🙂

    • Heiko
      Antworten Heiko

      Lieber Christian,
      vielen Dank für die Nachricht und die Fragestellung. Dass Du die Dateinnach dem „internen“ Kopieren von /web… nach /docker… nicht siehst, liegt daran, dass die Metainformationen in der internen MySql-DB nicht vorhanden sind (Berechtigungen, Freigaben, PW-Schutz usw.. ) . Ich überlege gerade, ob es hilft Daten aus der einen MySQL in die zweite zu übernehmen. Ich habe mir das noch nie angesehen, sobald ich etwas Zeit habe, möchte ich das gern liefern.

      Beste Grüße
      Heiko

  5. Antworten Mario

    Hallo Heiko,
    vielen Dank für die Anleitung! Leider bekomme ich von nginx immer einen „502 -Bad Gateway“ Fehler wenn ich über den Domain Namen gehen will… Über die interne IP klappt es soweit einwandfrei!
    Ich habe glücklicherweise eine statische IPv4 Adresse, daher kann ich mir den DynDNS Kram schenken, das dürfte aber ja keine Änderung bedeuten, oder?
    Hast du eine Idee?

    BTW: Ich habe einen Container mit folgendem Image erstellt: https://github.com/greyltc/docker-nextcloud
    Dieser klappt mit deiner Anleitung komischerweise sofort, auch über den Domain Namen… Ist nur leider kein aktuelles Image, daher möchte ich natürlich über das originale Nextcloud Image gehen ^^

  6. Antworten stulpinger

    Habe günstig eine DS1512+ erstanden
    Die DS ist von extern über https://diskstation.xxx.at:6001 erreichbar
    Firewallregel im RT2600AC bzw. Portweiterleitung erstellt, sprich Umleitung von extern 6001
    auf intern 5001 auf die IP der zweiten DS funktioniert ohne Probleme
    Port 80,443 bzw 5001 sind auf meine DS1817+ umgeleitet
    Würde gerne die DS1512+ als Nextcloudspeicher benützen, wie müsste ich vorgehen, bzw. ist dies überhaupt möglich ?

    D.h. zwei DS hinter einer öffentlich IP

  7. Heiko
    Antworten Heiko

    Hi,
    danke für deine Frage. Ja, das, was du vorhast, ist sehr einfach zu realisieren. Es gibt zwei Möglichkeiten.

    Möglichkeit 1: Für die NAS mit der Nextcloud nutzt du neu noch nicht genutzte Ports. z.B 4433 für https und 8081 für http. An deinem Router konfigurierst du einfach eine entsprechende Portweiterleitung zu der zweiten NAS.

    Möglichkeit 2: Wenn du die Standardports 443 und 80 von außen nutzen möchtest, musst du über den Reverse Proxe einer NAS gehen.
    Vorbedingung: Die zwei NAS müssen von außen über verschiedene DNS-Namen angesprochen werden.
    Der gesamte Verkehr wird wird dann über den Reverse-Proxy einer NAS geroutet. Du konfigurierst an dem Reverse Proxy zwei neue Regeln, die den Verkehr zu den entsprechenden Namen (https://nextcloud.xxx.at) an deine zweite NAS mit der Nextcloud-Installation und deren internen Namen (oder sogar IP) weiterleitet.

    Eine dritte Möglichkeit wäre, dass du einen Docker Container aufsetzt, der selbst ein Reverseproxy ist und eine solche Verteilung übernimmt ( z.B. https://traefik.io/ ) – mir erscheinen die ersten zwei Lösungsmöglichkeiten jedoch als relativ einfach umsetzbar und das mit vorhanden Boardmitteln.

    Ich hoffe, dass Dir das hilft – gib bitte mal Rückmeldung.
    Beste Grüße
    Heiko!

  8. Antworten stulpinger

    Habe Möglichkeit 2 gewählt, bei der 2. Reverse-Proxy-Regel musste ich nur beim Zielhost die IP der 2ten DS + Port eingeben
    Bei der Nextcloud Installation selbiges beim localhost für die Datenbank + dementsprechenden Port

    Danke nochmals

  9. Antworten stulpinger

    Nextcloud 13.0.6 läuft noch immer einwandfrei auf DS1512+
    Habe jetzt auf meiner DS1817+ Nextcloud 14.0 installiert, eine Warnung unter Übersicht bekomme ich:

    Der „Referrer-Policy“ HTTP-Header ist nicht gesetzt auf „no-referrer“, „no-referrer-when-downgrade“, „strict-origin“ oder „strict-origin-when-cross-origin“. Dadurch können Verweis-Informationen preisgegeben werden. Siehe die W3C-Empfehlung.

    laut google soll man /etc/nginx/header.conf bearbeiten – finde ich leider nicht ….

  10. Antworten Eric

    Hallo,
    wolte mich eben an dieser Anleitung entlanghangeln, allerdings wird die MariaDB direkt gestoppt.
    Liegt es daran, dass ich bereits die Synology Pakete MariaDB 5 und 10 installiert habe? Kann ich dadurch evtl den Schritt übergehen?

    Grüße

    • Heiko
      Antworten Heiko

      Hallo Eric,
      wenn du schon eine MariaDB installiert hast, ist eine zusätzliche Datenbank als Docker-Container natürlich nicht zwingend notwendig. Nutz gern deine vorhanden Datenbank..
      Beste Grüße
      Heiko

  11. Antworten Cedric

    Hallo zusammen,

    nachdem ich die Anleitung durchgearbeitet habe und die Nextcloud Installation starten möchte, stoße ich auf nachfolgende Hürden:
    Ich habe leider das Problem, dass sich mein nextcloud Container „unerwartet“ stoppt.
    Im Terminal sehe ich die letzte Meldung „AH00170: caught SIGWINCH, shutting down gracefully“.
    Außerdem bekomme ich bei der Installation die Fehlermeldung, dass der Zugriff für den Datenbankbenutzer auf die IP „172.17.0.2“ verwehrt wird. Aber woher kommt die IP

    Danke für eure Hilfe!
    Viele Grüße, Cedric

    • Heiko
      Antworten Heiko

      Hallo Cedric,
      vielen Dank für die Nachricht. Die IP wird vom Docker-System für den Nextcloud Container vergeben – das sollte i.O. sein. Warum du die Fehlermeldung AH00170 bekommst, kann ich dir leider nicht sagen. Hast du in der Zwischenzeit eine Lösung gefunden?

      Vielen Dank und viele Grüße
      Heiko

  12. Antworten Lutz

    Hi, ich habe einen Mac und finde für Docker das ‚@‘ Zeichen im Terminal zu nutzen nicht. Wie bekomme ich das?

    • Heiko
      Antworten Heiko

      Hallo Lutz,
      wenn du auch eine Mac-Tastatur hast, findest du das @ beim “ L “ – also Alt+L = @
      ich hoffe Dir geholfen zu haben!
      Beste Grüße
      Heiko

  13. Antworten mvoss

    Sehr schöne Beschreibung.
    Ich bleibe aber bei der Einrichtung von Nextcloud im letzten Schritt hängen, da Maria-DB mit access denied den Versuch auf die DB zuzugreifen beantwortet:

    access denied for user nextadm@172.17.0.3 …

    auch ein Grant provileges on nextcloud.* for user nextadm@172.17.0.3 … hilft nicht. Im Mariadb-Container hat der user nextadm Zugriff auf die nextcloud-DB (getestet über das bash-Terminal.

    • Heiko
      Antworten Heiko

      Hallo,
      vielen Dank für deine Rückmeldung! Hast du ein Sonderzeichen im Passwort? Ich hatte damit ursprünglich auch ein Problem..
      Beste Grüße
      Heiko

    • Antworten Bernd

      Ich kann über die Mac-Tastatur überhaupt keine Sonderzeichen in das Terminal eingeben. Die werden wohl nicht richtig übertragen. Im Mac-Terminal ist alles ok. Aber mit copy/paste geht es. Vielleicht ist das auch der Grund für das Problem mit den Sonderzeichen im Passwort.

      Ansonsten sehr schöne Anleitung, um sich in Docker einzuarbeiten. Danke.

  14. Antworten abrocksi

    Hallo Heiko,
    eine wirklich gute Beschreibung! Vielen Dank dafür. Hat mir Docker nochmal näher gebracht!
    VG abrocksi

  15. Antworten Jonas

    Hallo Heiko,
    danke erst einmal für die Mühe so eine ausführliche Anleitung zu verfassen! Ich bin mir sicher, dass ich mit ihr am Ende Nextcloud auf meiner DS218+ zum laufen bekomme.
    Allerdings hänge ich an dem Punkt der Portweiterleitung im Router. Leider bin ich mit Netzwerken nicht allzu vertraut. Mein Router bietet in seinem Menü zwar die Möglichkeit einer Portweiterleitung, allerdings nicht mit den Parametern deines Beispieles. Er möchte von mir für einen Eintrag zur Portweiterleitung folgende Parameter: MAC-Adresse, Start Port, End Port, Protokoll (TCP / UDP).
    Kannst du mir evtl auf die Sprünge helfen, welche Angaben ich hier tätigen muss? Habe natürlich bereits die MAC-Adresse des NAS probiert, möchte ich allerdings einen zweiten Eintrag anlegen, teilt er mir mit, dass man eine MAC-Adresse nur einmal zur Portweiterleitung verwenden kann.

    Viele Grüße und vielen Dank im Voraus,
    Jonas

    • Heiko
      Antworten Heiko

      Hallo Jonas,
      vielen Dank für die Frage – was hast du denn für einen Router? Eine Portweiterleitung auf eine Mac – kann man machen aber eine Weiterleitung auf eine IP wäre wesentlich einfacher. Wenn du uns sagst, was du für einen Router hast, kann ich ggf. mal eine Dokumentation suchen.
      Beste Grüße
      Heiko

  16. Antworten Daniel

    Ich bekomme es nicht hin, über das Dockerterminal die Datenbank anzulegen. Muss ich den Textblock kopieren und durch meine Bezeichnungen und Passwörter ersetzen? Ich bekomme nicht hin mehr als die Datenbank selber zu erstellen. Nicht mal das @-Zeichen nimmt das Terminal an.

    • Heiko
      Antworten Heiko

      Hallo Daniel,
      hast du einen Mac? Es gab schon verschiedene Kommtare, die erkennen lassen, dass das Eingeben von Sonderzeichen nicht geht. Wenn ich mal Muse habe, nehm ich mich gern der Frage an.
      Beste Grüße
      Heiko

  17. Antworten PhoenixG36

    Hallo,
    super Anleitung. Was mir noch fehlt ist wie man den Nextcloud auf die aktuelle Version Updaten kann?

    • Heiko
      Antworten Heiko

      Hi, an dem Thema arbeite ich noch – verschiedene Anleitungen zum Update der Container, die ich selbst durcharbeite funktionieren nicht – sobald ich eine gangbare Lösung habe, gibt es einen Artikel dazu.
      Beste Grüße
      Heiko

      • Antworten Maik

        Update: Seltsamerweise ist die Anzeige der Nextcloud einen Tag später nicht mehr möglich (es wird gemeldet, dass das Let´s Encrypt Zertifikat für eine andere Domain sei …). Am ersten Tag funktionierte das alles problemlos. Auf der Handy-App klappt der Zugriff nun auch nicht mehr (Zertifikat).

  18. Antworten Dede

    Servus,
    an der stelle danke für die super Anleitung, trotzdem habe ich es geschafft meine Datenbank abzuschießen somit komme ich jetzt nicht weiter und bekomme immer nach Installieren der MariaDB die Fehlermeldung „Socket geschlossen“. Falls jemand einen tip hat was ich noch machen könnte Außer alles zurückzusetzen, neuinstallieren da schon mehrfach versucht, bitte ich darum 😉
    Vorab Danke und LG von Dede

  19. Antworten Rene

    Hallo und vielen Dank für die Anleitung.

    Allerdings habe ich noch folgende Probleme. Konntest du diese lösen ?
    Ihr Webserver ist nicht richtig konfiguriert um „/.well-known/caldav“ aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
    Ihr Webserver ist nicht richtig konfiguriert um „/.well-known/carddav“ aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
    Danke und viele Grüße

    René

  20. Antworten John

    Hallo Maik,
    danke für die Anleitung. Hat bei mir funktioniert. Ich habe mein /var/www/html/data Verzeichnis nach /var/www/data verschoben und in der config.php entsprechend angepasst. Was ich mich nun frage, wo liegt das Verzeichnis eigentich auf der Synology? Ich habe ja einen Mount von docker/nextcloud auf /var/www/html und den sehe ich unter /volume1/docker/nextcloud. Wo ist aber das Verzeichnis /var/www/data? Habe ich da vielleicht Nachteile in einem Docker-Umfeld damit?
    Vielen Dank schonmal.
    Jürgen

  21. Antworten John

    Hallo Maik,
    danke für die Anleitung. Hat bei mir funktioniert. Ich habe mein /var/www/html/data Verzeichnis nach /var/www/data verschoben und in der config.php entsprechend angepasst. Was ich mich nun frage, wo liegt das Verzeichnis eigentich auf der Synology? Ich habe ja einen Mount von docker/nextcloud auf /var/www/html und den sehe ich unter /volume1/docker/nextcloud. Wo ist aber das Verzeichnis /var/www/data? Habe ich da vielleicht Nachteile in einem Docker-Umfeld damit?
    Vielen Dank schonmal.

  22. Antworten Arne

    Hi!
    Danke erstmal für die tolle Anleitung. Ich kämpfe gerade mit der Portweiterleitung. Ich bin leidgeplagter Unitymedia-Kunde und komme daher in den zweifelhaften Genuss von DS-Lite.
    Soweit ich verstehe, haben alle meine Geräte – auf jeden Fall meine DS216 – eine IPv6-Adresse, die auch relativ einfach von außen zugänglich zu machen sein soll. Da ich mich mit dem Thema IPv6 so überhaupt nicht auskenne, stehe ich gerade etwas auf dem Schlauch (zumal meine Fritzbox mir bei dem Gerät gleich 3 IPv6-Adressen anzeigt).
    Meine Domain habe ich von United Domains und könnte dort bei den DNS-Einstellungen zu der gewählten Subdomain einen AAAA-Eintrag für IPv6 hinterlegen. Kann das klappen oder muss ich den steinigen Weg über einen IPv4-Portmapper gehen, um den Teil den du mit DynDNS erledigt hast hin zu bekommen?

    Gruß und einen guten Rutsch,
    Arne

  23. Antworten Max

    Hallo Heiko eine frage: wie komme ich in das terminal des nextcloud servers ? – meine Installation ist genau deiner Anleitung entsprungen -Danke dafür!-.

    Ich habe zwei offene „Security & setup warnings“ unter Übersicht im Admin bereich der Web-Gui:
    ————————
    „Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running ‚occ db:convert-filecache-bigint‘ those pending changes could be applied manually. This operation needs to be made while the instance is offline. For further details read the documentation page about this.
    filecache.mtime
    filecache.storage_mtime“
    ————————-
    welche ich natürlich gerne selbst beheben würde…
    Ich komme bloß nicht an die Stelle an welcher ich die Nextcloud-Befehle ( z.B. diese: https://www.c-rieger.de/using-nextclouds-command-line/ ; oder die der Docker-Info-seite) eingeben kann.

    Kannst du mir helfen?

    Besten Dank schonmal

    Max

    • Antworten Tux111

      Hallo Max,

      du musst wieder auf die mariadb und dort die bash öffnen, danach gibst du folgendes ein(wenn du auf version 15+ bist):

      mysql -p
      use nextcloud
      ALTER TABLE `oc_share` ADD KEY `owner_index` (`uid_owner`) USING BTREE;
      ALTER TABLE `oc_share` ADD KEY `initiator_index` (`uid_initiator`) USING BTREE;
      ALTER TABLE `oc_filecache` MODIFY `mtime` bigint NOT NULL DEFAULT ‚0‘;
      ALTER TABLE `oc_filecache` MODIFY `storage_mtime` bigint NOT NULL DEFAULT ‚0‘;

      danach sollte die performance um einiges besser sein und die errors sind auch weg 😉

  24. Antworten Tux111

    Hallo!

    Spitzen Anleitung, war sehr easy dass einzurichten. Danke

    Update des Docker funktioniert auch tadellos, bis auf eine Kleinigkeit die man in der mariadb fixen muss.

    Falls irgendwer nicht weiß wie man den Container auf 15.0.2 updated dann einfach hier melden und ich werde es kurz zusammenschreiben.

    • Heiko
      Antworten Heiko

      Lieber Tux,
      vielen Dank für die Rückmeldung – schreib mir bitte mal eine Nachricht, wenn du magst. Ich würde gern auf dein Angebot zurückkommen wollen. lass und mal austauschen.
      Beste Grüße
      Heiko

  25. Antworten Uwe

    Hallo Heiko,
    Auch ich bin Deiner Anleitung erfolgreich gefolgt, nochmals vielen Dank dafür, für Deine Zeit und die Mühe.
    Die Regeln im Reverse Proxy hab ich auf meine DNS Adresse welche ich von spdns.de habe eingestellt.
    Den Part öffentlich zugängliche Domain hab ich weggelassen, da ich keine habe.
    Nun hab ich aber das Problem beim einloggen in Nextcloud über die DNS Adresse. Es kommt der Hinweis:
    „Diese Verbindung ist nicht sicher. Hier eingegebene Zugangsdaten können in falsche Hände geraten.“
    Obwohl ich bei Lets Encrypt ein Zertifikat für die DNS Adresse angefordert und eingetragen habe.
    Was mache ich falsch ??? Kannst Du mir bitte helfen !
    Gruß Uwe

    • Heiko
      Antworten Heiko

      Hallo Uwe, die Meldung sollte nur dann kommen, wenn das Zertifikat nicht ausgeliefert wird oder der Domain-Name nicht passt. Was zeigt denn der Browser für Zertifikatdetails an?
      Beste Grüße
      Heiko

  26. Antworten Uwe

    Hallo Heiko,
    danke für Deine schnelle Antwort. Habe es mittlerweile selbst herausgefunden. Sorry war mein Fehler,
    hinter der DYNDNS Adresse hat die interne ip-Adresse der DSM gefehlt, Jetzt klappt alles !
    Danke

  27. Antworten Alex

    Hallo Heiko,

    ich bin am verzweifeln. Ich erstelle die DB, den User, vergebe die Rechte (grant …) starte den nextcloud container, probiere mich in nextcloud anzumelden und er sagt mir es sei keine DB nextlcoud vorhanden. Nun habe ich das ganze Schrittweise überprüft.
    Create database nextcloud mit show databases überprüft – OK
    create user ebenfalls ok
    Aber spätestens nach dem grant all oder nachdem der nextcloud container gestartet wurde ist die nextcloud DB weg.

    Was mache ich falsch?

    • Antworten Alex

      Das habe ich gelöst. War mein Fehler. Ich habe die Ornder mariaDB und nextcloud unter Docker nicht angelegt gehabt.

  28. Antworten Alex

    Hallo zusammen,

    Ich komme leider nicht weiter. Bekomme beim anlegen des Admins via nextcloud gui folgende Meldung.

    access denied for user nextadm@172.17.0.3

    Ich habe auch kein Sonderzeichen im Passwort.

    Wer kann mir helfen?

    Gruss Alex

    • Antworten Alex

      Nachdem ich ca. 10 Mal das gleiche probiert habe hat es dann doch funktioniert. Keine Ahnung warum das vorher nicht ging.

  29. Antworten Alex

    Ich schon wieder 😉

    Nextclould läuft soweit ist konfiguriert. Leider funktioniert bei mir die Regel http zu https bei dem Reverseproxy nicht.
    Ich kann mich sowohl via http und auch via https anmelden. Was könnte der Grund sein?

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Translate »