Anleitung: nextcloud mit nginx reverse proxy und LetsEncrypt auf Docker

  • Du kannst mal in meinen Blog schaun, ich hab gestern ein tutorial geschrieben, wie du owncloud im Container ohne viel Schnick Schnack online bekommst... Vielleicht hilft dir das aj weiter.


    Theoretisch musst du da nur den Abrufnamen auf den richtigen nextcloud container ändern.

    Vielleicht schreib ich dazu heute Abend ne kurze Ergänzung

  • Du kannst mal in meinen Blog schaun, ich hab gestern ein tutorial geschrieben, wie du owncloud im Container ohne viel Schnick Schnack online bekommst... Vielleicht hilft dir das aj weiter.

    Super cool! Hilft auf jeden Fall! Vor allem um Docker besser zu verstehen. Planst Du denn noch ein SSL-Zertifikat mit zu integrieren? Und noch eine dumme Frage: Wieso nutzt Du OwnCloud? Das soll keine Grundsatz-Diskussion werden aber ganz allgemein: Gibt es Vorteile bei OwnCloud?

  • Bisher noch nicht, mussnich nir nochmal anschaun... Ich nutz die bisher eh nur als "schnell mal was teilen" Lösung mit ro symlinks aus dem Dateisystem....


    Weils im Appstore verfügbar war 8o Und ich dann, wie beschrieben drüber gestolpert bin, dass ich das selber mindestens genauso aber kontrollierter hinkrieg...


    Aber Nextcloud dürfte zu 99% das selbe sein. Nur anderen Imagenamen im Docker-Compose

    Einmal editiert, zuletzt von Mangoon2008 ()

  • Hallo quick,

    es ist so komisch, jetzt läuft es, obwohl ich nichts geändert habe und nochmals/immer wieder, einen "Bad Gateway" hatte.


    Okay, die einzige Änderung war das Update der Firmware vor 3 Stunden und dem damit einhergehenden Neustart der NAS.

    Drauf ist jetzt:


    NAME="QTS"

    VERSION="4.3.6 (20190425)"

    ID=qts

    PRETTY_NAME="QTS 4.3.6 (20190425)"

    VERSION_ID="4.3.6"


    Ich bin kein Docker pro, aber ich denke es war einfach ein Problem mit der Verbindung der docker container in Bezug auf das timing.

    Das Passwort mit dem ich mich jetzt anmelden konnte war auch eines aus mehreren Versuchen.

    Ich habe eine TS-431X2 mit dem Alpine AL314 Quad-core ARM und musste hier erst das passenden mariadb docker image finden.

    Der port zur DB war aber offen, auch 80:443 waren immer erreichbar.


    Die Verbindung zu Let's Encrypt hat auch funktioniert, da das Zertifikat mit dem Datum 26.04.2019 erstellt wurde, dies war der Tag an dem ich mit der Installation/Versuchen begonnen hatte.


    Mein Netzwerk sieht so aus:


    Ich hatte mich dann auch per Terminal auf die container verbunden und in diesen ein update gemacht, evtl. lag es daran, dass es auf einmal funktioniert hat, denn geändert hatte ich nichts mehr.


    Ich weiß jetzt nur nicht, ob ich mit dieser Installation Produktiv gehen soll, da ich nicht weiß warum es jetzt auf einmal geht und ob es so bleibt.


    In der NC muss ich noch was anpassen, hier gibt es auch noch Meldungen im Admin.


    Was mich auch irritiert hat war die Meldung nach dem logout und ändern des Passwortes.


    Aber das Gute war, ich kann mich wieder mit dem neuen Passwort anmelden.


    Sorry, dass ich dir hier nicht mehr zum Fehler sagen kann, es würde mich aber echt selber sehr interessieren, da wenn ich mit der Installation Produtiv gehe und das Problem kommt wieder, dann habe ich ein Problem :-)


    Grüße

    Stefan

  • Schön, dass meine Anleitungen so vielen Leuten geholfen haben.


    Nach langer Zeit melde ich mich als Autor dieses Threads mal wieder.

    Ich habe eine lange Leidenszeit hinter mir. Kurz vor Weihnachten 2018 ist mein QNAP ausgefallen. Ursache des Totalausfalls war ein defekter Lüfter (also Pfennigkram). Das Gerät war noch kein Jahr alt. QNAP hat für den Garantiefall 3 Monate gebraucht. Man sagte mir, es würde nur schneller gehen, wenn ich ARS (Advanced Replacement Service) dazu gekauft hätte. Ich hatte gedacht, ich hätte ein professionelles NAS gekauft. Anderswo gibt es im Problemfall einen Vorabaustausch!!


    Die Migration der Daten in das Austauschgerät war dann auch noch problematisch und konnte nicht einmal vom QNAP-Support direkt durchgeführt werden. Erst durch eine HelpDesk-Session waren die Daten von QNAP-Spezialisten am nächsten Tag wieder restauriert (obwohl die 4 Platten (RAID5) ja eigentlich gar nicht betroffen waren). Eigentlich hatte ich gedacht: neues Gerät vom selben Modell, Platten rein und läuft wieder. Aber: weit gefehlt.


    Ich kann nur sagen: Nie wieder QNAP!!!


    Ich steige nun sukzessive um auf Odroid-HC2 bzw. HC1. Darauf nutze ich Openmediavault als NAS. Unter OMV laufen die Docker-Container, u.a. nextcloud. Von diesen Geräten betreibe ich mehrere (immer noch günstiger als ein einziges QNAP-System). RAID5 hat mir ja im obigen Garantiefall nur Probleme gemacht. Daher halte ich die Daten redundant und synchronisiere u.a mit Syncthing (geniales Tool für Synchronisation über mehrere Plattformen (Windows, Android, Linux (Docker))). Die Aktualisierung der Docker-Container übernimmt ein spezieller Container: Watchtower. Die Verwaltung der Container erfolgt mit portainer.io.


    Also: keine unnötige Komplexität durch den ganzen Schnickschnack im QNAP, sondern maßgeschneiderte OpenSource-Lösungen, die ich ohne fremde Hilfe betreiben kann.


    Viele Grüße
    xgadscu

    Einmal editiert, zuletzt von xgadscu ()

  • Hallo xgadscu,


    danke für deine Einschätzung und für diese sehr gute Anleitung!


    Ich habe mich für eine QNAP entschieden, da ich meinen in die Jahre gekommenen Raspi mit Ubuntu und NC auf neue Hardware umziehen wollte und das dann gleich mit einem RAID10, HDD Verschlüsselung und Docker.


    Leider musste ich nach einigen Tests jetzt auch schon feststellen, dass die Entscheidung für die QNAP nicht wirklich die richtige war:(


    Ich hatte mir von QNAP auch mehr erwartet, wurde bisher aber nur enttäuscht.

    Wahrscheinlich werde ich hier wieder auf einen aktuellen Raspi umsteigen müssen oder einen DELL T20 mit OMV, FreeNAS, Ubuntu mit NC, oder ich weiß es noch nicht.


    Ich muss für mich nur feststellen, dass die Investition, bis auf die HDDs, in die QNAP ein sehr teurer Fehler war.

    Eigentlich hatte/habe keine Lust/Zeit mehr zum basteln, deshalb die out-of-the-box Lösung, aber das war wohl der falsche Weg.


    OpenSource-Lösungen werden hier wohl wegen ihrere Flexibilität immer die bessere Wahl sein und bleiben.


    Viele Grüße

    Stefan

  • EDIT: Geht nun, wieso auch immer..



    Hi zusammen,

    habe alles erfolgreich über den ersten Post hier einrichten können.

    Leider bekomme ich auch nach einem Neustart den Fehler Request Entity Too Large wenn Daten hochladen möchte.


    Kann mir jemand helfen?


    Mod: Zitat ohne Quellenangabe gelöscht. (siehe Forenregeln)


    Geht bei mir leider nicht. Wenn ich einen Stoppen und Starten möchte kommt die Meldung



    LG Micha

    3 Mal editiert, zuletzt von CyberMicha () aus folgendem Grund: Erledigt... Sorry...

  • den musst du mit docker-compose oder dem docker Befehl anhalten. Die Gui kann das nicht bek selbst deployten Containern

  • Ja habe ich schon raus gefunden. Problem macht jetzt gerade das Verschicken von Mails. Über outlook.de geht es aber über one.com leider nicht obwohl alle Daten korrekt eingegeben sind.


    Hat da vielleicht jemand eine Idee? Es liegt wohl an den Swiftmailer und der Verschlüsselung denke ich. In welchem Docker ist der installiert? dann würde ich mal schauen ob ich Logs finde.


    LG Micha

  • xgadscu  

    Meine Einschätzung ist sehr ähnlich. Nachdem ich vor Jahren mal ein 2-Bay QNAP hatte und damit einigermaßen zufrieden war, wollte ich meinen beiden Töchtern etwas wirklich gutes und zukunftsfähiges schenken, das einfach und möglichweise auch von "Fremden" gewartet werden kann. Immerhin wohnen die beiden Damen bis zu 300 km entfernt. Ausgesucht und eingerichtet habe ich dann zwei TS-453Be, 8+8 TB bzw. 4+4+4 TB Platten und z.B. Nextcloud. Schon bei der Einrichtung ging es mir ähnlich wie xgadscu: Muss ein RAID mal neu aufgebaut werden, ist das eine Riesenprozedur. Dagegen ist ein RAID - Rebuild auf meinem eigenen Windows-Server ein Kinderspiel. Was ich auch nicht glauben konnte ist, dass bei einem nicht gerade billigen Gerät das OS auf den Platten liegt und nicht auf einem internen Speicher. Mein Fehler: Ich hätte mich also vorher schlau machen sollen - aber das bei einer Blechschachtel von über € 500? Deshalb ist es mir bis heute auch nicht gelungen, die Platten in den Stand-by Modus zu bringen, das OS hat immer etwas zu tun. Und das bei einer aktiven Nutzung von weniger als 1h pro Tag.

    Aber jetzt ist es wohl zu spät, ich bin weit im Ruhestand und nochmals € 1000 haue ich nicht raus. Ich kann nur warnen und bitten: schaut euch alles vorher GENAU an.

  • Hallo quasimodoz,


    Danke für Deinen Bericht. In meinem Fall hat mich insbesondere die Abhängigkeit von qnap gestört, in die ich geraten bin, als das Gehäuse defekt war und meine 4 8 TB-Festplatten für mich vollkommen wertlos waren. Ich konnte nicht mehr auf meine Daten zugreifen. Wenn ich den Zugriff über ein eigenes Linux-System versucht hätte, hätte ich möglicherweise noch mehr verloren. Also habe ich 3 Monate gewartet, bis QNAP mir endlich ein Austauschgerät geschickt hat. Dass ich dann immer noch nicht an meine Daten kam und es selbst QNAP-Experten nur mit großen Schwierigkeiten gelungen ist, war die nächste bittere Erfahrung.


    Mir ist dabei bewusst geworden, dass man RAID5 für den privaten Bereich eigentlich nicht unbedingt benötigt. 24*7 ist nicht erforderlich. Man muss dann allerdings die Daten redundant halten. Dafür erspart man sich die oben beschriebene Komplexität und Abhängigkeit.

    Ich halte nun permanente Backups meiner Daten auf jeweils separaten Platten und synchronisiere mit rsync mit jeweils passenden Zeitplänen.


    In dem Zusammenhang habe ich Syncthing entdeckt. Dieses Tool ist grandios. Damit lassen sich Realtime-Syncs und -Backups über alle möglichen Plattformen (Linux, Windows und Android) realisieren. Auf den diversen Linux-Systemen (inklusive QNAP und jetzt auch Odroids mit OMV) betreibe ich Syncthing in Docker-Containern. Die Synchronisation ist schnell und vor allen Dingen sehr verlässlich.


    Das Wichtigste aber ist: Ich kontrolliere die Verwaltung meiner Daten selbst und bin nicht abhängig von proprietären QNAP-Firmwares und -Apps.


    Gruß

    xgadscu

  • Aktualisierung
    Neue Containerversionen installiert man einfach durch erneutes Aufrufen der Schritte 1 und 2 unter Build and Run. Die Daten bleiben über die Volumes erhalten.

    Funktioniert bei mir leider nicht wenn ich auf die 16.0.1 gehen möchte.



    LG Micha

  • Hallo Micha,


    meine Aussage stimmt nicht beim Umstieg auf eine neue Major-Version. Normalerweise hängt man bei der Image-Angabe ein Tag latest an. Zu nextcloud gibt es aber sehr viele verschiedene Images, die entsprechend getagged sind (siehe Ausschnitt von https://hub.docker.com/_/nextcloud/) :




    Das latest-Tag bezieht sich in diesem Fall auf die apache-Version. Das Tag fpm bezieht sich auf die aktuelle fpm-Version. Das ist also richtig.


    Du musst beim Umstieg auf eine neue Major-Version (wie auch unter obigem Link beschrieben) leider den Container stoppen, den Container und das Image löschen und dann den Pull absetzen.


    Gruß xgadscu

  • Hi,

    dann sind aber auch die Daten und alles andere weg oder steh ich gerade auf dem Schlauch?

    Gibt es da ggf eine Anleitung? Wüsste z.b. nicht wie ich das image lösche.


    LG Micha

  • Hallo Micha,


    die Images und Container kann man normalerweise über die Containerstation-App löschen. Da wir die nextcloud-Container aber nicht über die Containerstation-Oberfläche, sondern über docker-compose erzeugt haben, ist dies offensichtlich nicht mehr möglich. Ich meine, das hätte früher funktioniert.

    Macht aber nichts. Ich verwende für das Container-Management den frei verfügbaren portainer. Der läuft in allen Docker-Umgebungen, während die Containerstation proprietär nur für qnap läuft. Der portainer ist schnell per docker-compose eingerichtet:


    Den portainer kann man nach Einrichtung im Browser über Port 9000 aufrufen. Dort lassen sich Container stoppen/starten usw. und ebenso Container und Images verwalten.


    Da wir bei unserem nextcloud-Containern die Daten über Volumes persistent halten, geht beim Löschen von Containern und Images nichts verloren. Aktualisierte Container greifen automatisch auf die vorhandenen Daten zu. Ein nextcloud-Major-Update erkennt die alte Version der Daten und migriert sie automatisch auf die neue Version. Dabei darf man immer nur um 1 Version höher gehen (also z.B. von 15 auf 16).


    LG xgadscu

  • Hi und danke. Muss ich das genauso installieren wie nextcloud? Also Konfigurationsordner anlegen? und dann da compose.yml etc?


    Code
    1. [/share/CACHEDEV1_DATA/Docker-Configs/portainer] # docker-compose build --pull
    2. portainer uses an image, skipping

    Okay wohl nicht hmmm


    LG Micha

  • Ja


    • obige Definition in Docker-Configs/portainer/docker-compose.yml
    • cd /share/CACHEDEV1_DATA/Docker-Configs/portainer
    • docker-compose build --pull
    • docker-compose up -d
    • fertig