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

Synology, Docker und Nextcloud installieren und einrichten

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
  • https://www.bjoerns-techblog.de/2017/07/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/
  • https://idomix.de/synology-diskstation-lets-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
  • https://www.reddit.com/r/synology/comments/6v6hge/synology_reverse_proxy_guide

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

71 Comments

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

  2. Avatar
    Antworten Steffen

    Hallo

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

    Grüße Sreffen

    • Avatar
      Antworten DK

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

      • Avatar
        Antworten Steffen

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

  3. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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

    • Avatar
      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. Avatar
    Antworten abrocksi

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

  15. Avatar
    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. Avatar
    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. Avatar
    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

      • Avatar
        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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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. Avatar
    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

    • Avatar
      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. Avatar
    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. Avatar
    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. Avatar
    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

    • Avatar
      Antworten MagicMike

      Hallo Uwe, kannst du das nochmal präzisieren? Ich habe ein ähnliches Problem- Danke!

  27. Avatar
    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?

    • Avatar
      Antworten Alex

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

  28. Avatar
    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

    • Avatar
      Antworten Alex

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

  29. Avatar
    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?

    • Avatar
      Antworten hita

      Hallo Alex,
      habe genau das gleiche Problem. Hast du in der Zwischenzeit eine Lösung gefunden?

  30. Avatar
    Antworten pedal

    Danke für die bisher fast einzige Anleitung Nexcloud als container auf der DSM zu nutzen. Schon erleuchtend, dass es zig Anleitungen für den kleinen RaspberryPi gibt aber nicht für die coole DSM, die sogar auf fetten bearemetalls laufen kann.

    Naja, ich habe die Anleitung befolgt bis auf das Anlegen von Weiterleitungen und des reverseproxies, da es bisl dauert, bis Hetzner meine Cnames aktualisiert.
    Ich hätte jetzt angenommen, dass ich die Nexcloud im Lan ganz normal erreichen kann über 192.168.178.100:8080 oder localhost:8080 vielleicht sogar.

    Ich habe bisher nur ein paar Stunden Erfahrung mit Docker und frage mich, ob ich da noch was beachten muss bzw. warum es nicht geht. –> Firefox kann keine Verbindung zu dem Server unter 192.168.178.250:8080 aufbauen, obwohl das Abbild läuft….
    Ich habe bisher nur einen weiteren container (Pihole) und der rennt super sogar via “ macvlan “ ,was an sich ja scho geil ist.

    Also: Wie erreiche ich den Container nach der Anleitung im LAN?

    • Heiko
      Antworten Heiko

      Hi, vielen Dank für das feedback!
      In der Tat solltest du Zugriff auf die Nextcloud haben, ach wenn du nicht die öffentlich Domain aufrufst.
      Eine Verbindung auf localhost wird definitiv nicht gehen, da der localhost genau der host (dein PC, Laptop whatever..) ist, auf dem der Browser läuft – und der läuft ja nicht auf der Synology.

      Ich kenne deine Infrastruktur nicht – deshalb kann ich dir im Moment gerade nicht helfen.
      Beste Grüße
      Heiko

  31. Avatar
    Antworten Matt

    Hallo Heiko,

    klasse Anleitung. Wirklich gut.
    Alles rennt suuper.
    Hatte die Cloud vorher auf der Syno über Webstation am laufen. Es gab viele kleine Fallstricke.
    Die Cloud mittlerweile 15.4 lief immer etwas träge da man nur schwer alle Gegebenheiten und needs des Bedarfs darstellen kann.
    Mit der Dockerlösung ist das klasse.
    Sehr schnell und auch die Ressourcen der Nas werden geschont. Keine Webstation kein PHP keine Datenbank etc.
    Hatte die gleichen Warnungen wie Tux.
    Wollte das dann auch im Terminal von der Datenbank lösen.
    Leider kommt bei dem ersten Befehl folgendes:
    ERROR 1061 (42000) : Duplicate key name ‚owner_index‘
    Habe dann mal nicht weiter gemacht um nix kaputt zu machen.
    Die Anleitung zum Update – wäre klasse hier ist das mal an Tux gerichtet.
    Zu Heiko – bitte mal bei mir über Mail zum Thema Wassersport melden 😉

  32. Avatar
    Antworten FravonG

    Hallo Heiko,

    ich bin auf der Suche nach einer Cloudlösung auf Deine Ausarbeitung gestoßen. Eine super klasse Anleitung. Genau das, was ich aufbauen möchte.

    Leider bleibe ich schon sehr früh beim Einrichten der Datenbank hängen.
    Im Bereich BASH steht in der ersten Zeile „root@mariadb:/#“. Kopiere ich dann dort Deinen Befehl „mysql -p“ hin erfolgt anschließend in der 2. Zeile die Passwortabfrage „Enter password:“. Dort gebe ich mein Passwort aus der Umgebung „MYSQL_ROOT_PASSWORD“ ein und erhalte anschließend folgende Fehlermeldung: „ERROR 1045 (28000): Access denied for user ‚root’@’localhost‘ (using password: YES)“

    Kannst Du mir einen Tipp geben, wie ich diese Hürde meistern kann? Das gewählte Passwort ist 13-stellig und besteht aus Groß-/Kleinbuchstaben/Zahlen ohne Sonderzeichen.

    Viele Grüße
    FravonG

    • Avatar
      Antworten FravonG

      Hallo nochmal,

      Problem gelöst.

      Ich hatte vor einiger Zeit von einer alten Diskstatiob auf eine neue Diskstation migriert. Auf der alten waren irgendwann einmal MariaDB-5 und/oder MariaDB-10 im Einsatz. Wahrscheinlich sind die alten Datenbanken irgendwo noch im System gewesen. Nachdem ich auf der aktuellen Diskstation MariaDB-5 (und danach die MariaDB-10) installiert und anschließend wieder deinstalliert habe (einschl. jeweiliger Datenbank) funktionierte auch die Installation gem. Heikos toller Anleitung.

      Viele Grüße
      FravonG

  33. Avatar
    Antworten stulpinger

    Habe inzwischen NC 15.05 am laufen – ohne Probleme
    Bis auf 2 Warnungen:

    Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/caldav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.
    Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/carddav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.

    Gibt es dazu inzwischen schon neue Infos ?
    Kann es sein, dass dies mit den Revers-Proxy der Synology zu tun hat ?

    • Avatar
      Antworten Stulpinger

      Bin heute auf Nextcloud 16 umgestiegen

      Die zwei Warnungen:

      Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/caldav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.
      Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/carddav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.

      konnte ich wie folgt beseitigen:

      Auf der Syno unter Systemsteuerung/Terminal den SSH-Dienst aktivieren
      Per putty verbinden
      Anmelden
      sudo su

      Die Datei .htaccess – liegt bei mir unter /docker/next editieren (am schnellsten funktioniertes mit dem Midnightcommander) und wie folgt ändern:

      Replace:

      RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
      RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]

      By:

      RewriteRule ^\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
      RewriteRule ^\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]

      Sollte meiner Meinung nach auch bei Nextcloud 15 funktionieren, hab es aber nicht getestet

      LG aus Österreich/Kärnten/Klagenfurt

  34. Avatar
    Antworten hita

    Hallo Heiko,
    vielen Dank für Deine super Anleitung. Hat soweit alles einwandfrei geklappt ausser das redirect von http auf https.
    Im Reverse Proxy von Synology habe ich die hier beschiebenen Regeln eingerichtet, kann mich aber über http und https verbinden. Hast du hier noch einen Lösungsvorschlag?

  35. Avatar
    Antworten massa

    Hat hier jemand Erfahrung wie man jetzt noch in der Nextcloud eine verschlüsselte SMTP Verbindung zum Mailplus Paket aufbaut? Ich habe es über Port 25 am laufen, nur will per SSL/TLS möchte er irgendwie nicht, obwohl es im Mailplus Paket enabled ist.
    Bin für jeden Tipp dankbar 🙂

  36. Avatar
    Antworten ChriWo

    Hallo, habe alles installiert und es klappt so weit. Ich müsste aber die trusted_domains in config.php ändern aber das klappt leider nicht…. wie geht das in einem Synology Docker Nextcloud Image ?

    Vielen Dank für die Hilfe

  37. Avatar
    Antworten Matt

    Hallo Heiko – schön das Du wieder aktiv bist.
    Vlt hast Du meine Frage übersehen.
    Hab die noch mal kopie paste gemacht.
    Gruss aus Malta

    Hallo Heiko,

    klasse Anleitung. Wirklich gut.
    Alles rennt suuper.
    Hatte die Cloud vorher auf der Syno über Webstation am laufen. Es gab viele kleine Fallstricke.
    Die Cloud mittlerweile 15.4 lief immer etwas träge da man nur schwer alle Gegebenheiten und needs des Bedarfs darstellen kann.
    Mit der Dockerlösung ist das klasse.
    Sehr schnell und auch die Ressourcen der Nas werden geschont. Keine Webstation kein PHP keine Datenbank etc.
    Hatte die gleichen Warnungen wie Tux.
    Wollte das dann auch im Terminal von der Datenbank lösen.
    Leider kommt bei dem ersten Befehl folgendes:
    ERROR 1061 (42000) : Duplicate key name ‚owner_index‘
    Habe dann mal nicht weiter gemacht um nix kaputt zu machen.
    Die Anleitung zum Update – wäre klasse hier ist das mal an Tux gerichtet.
    Zu Heiko – bitte mal bei mir über Mail zum Thema Wassersport melden 😉

  38. Avatar
    Antworten Tux

    UPDATE Anleitung:

    1. neues Image (unbedingt gleichen Tag verwenden) herunterladen
    2. Container stoppen
    3. Aktion -> Inhalt löschen
    4. Container wieder starten

    Jetzt startet er vom neuen Image.

    Beim Update auf 16.0 erscheinen unter Settings einige Warnings und Errors, deshalb noch folgendes im MariaDB Container ausführen :

    mysql -p
    use nextcloud
    ALTER TABLE `oc_whats_new` ADD KEY `version` (`version`) USING BTREE;
    ALTER TABLE `oc_twofactor_providers` ADD KEY `twofactor_providers_uid` (`uid`) USING BTREE;
    ALTER TABLE `oc_cards` ADD KEY `cards_abid` (`addressbookid`) USING BTREE;
    ALTER TABLE `oc_cards_properties` ADD KEY `cards_prop_abid` (`addressbookid`) USING BTREE;

  39. Avatar
    Antworten zwergneun

    Hallo Heiko,
    super Anleitung, ich hatte Nextcloud erfolgreich laufen und es hat sich mit dem watchtower container auch erfolgreich von 14 auf 15 auf 16 aktualisiert. Alles ohne Probleme.
    Jetzt kam die Version 16.0.1 raus und Nextloud befindet sich im Wartungsmodus weil eine Tabelle in der Datebank angelich nicht existiert, die mir aber im bash angezeigt wird.
    Kannst Du mir erklären, wie man den phpmyadmin container mit dem mariadb container verbindet und diesen dann aufruft um sich die Datenbank mal anschauen zu können.
    Hab da keine passende Anleitung gefunden.
    Danke schomal für die Mühe

    • Avatar
      Antworten zwergneun

      Hallo Heiko,
      ich habe zwar keine Ahnung, ob das auf lange Sicht so passt, aber im Moment funktioniert meine Nextloud wieder.
      Falls es jemand interessiert, das habe ich gemacht um das Problem zu lösen:
      https://help.nextcloud.com/t/docker-watchtower-update-to-16-0-1-doesnt-work/53595
      Kann man eigentlich irgendwo nachlesen wie die Tabellen für die Nextloud Datenbank aufgebaut sind und welche Funktion die Tabelle hat?
      Danke schonmal für den link zur workbench ich werde mir die am Wochenende mal anschauen.

  40. Avatar
    Antworten Lars

    Servus Heiko,
    top Anleitung, danke!
    Ich habe nun nach dem Upgrade von 14.x auf 15.x, welches erfolgreich war ein Upgrade auf 16.x machen wollen. Leider kommt der Container nicht mehr hoch und es gibt die folgende Meldung:

    [mpm_prefork:notice] [pid 1] AH00170: caught SIGWINCH, shutting down gracefully

    Im web finde ich dazu nicht viel, ggf. hast Du ja eine Idee / Hinweis für mich.

    Ein „upgrade“ der DB/Daten hat funktioniert, da ich eine alte Version nicht mehr starten kann, es kommt die folgende Meldung, welche ja auch korrekt ist:
    Can’t start Nextcloud because the version of the data (16.0.1.1) is higher than the docker image version (15.0.8.1) and downgrading is not supportet…

    Vielen Dank schon mal vorab.

    mfg
    Lars

  41. Avatar
    Antworten MagicMike

    Hiiiilfe.. Ich brauche Hilfe. 🙁
    Ich habe die config gemäß dieser coolen Anleitung gemacht. Klappt auch alles perfekt, bis auf eine Sache:

    Der Reverse proxy leitet alle http-verbindungen (port 8090) auf https (4443) um. Soweit so gut. Allerdings steht in der Adresszeile des Browsers (mehrere probiert) immer noch die http-Verbindung und entsprechende Meldungen von wegen unsichere Seite etc. kommen. Ein Cert ist für http natürlich nicht hinterlegt. Rufe ich die dyndns-domain (https://foooooo3r.ddns.net:4443) direkt, dann findet er das lets-encrypt cert und alles ist (auch von der browserseite ok). Was mache ich falsch?

Hinterlasse eine Antwort

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