Dieses Tutorial ist VALID.

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Nextcloud Docker Container

Über den Browser einloggen und das Setup abschließen

Wir geben die URL zu unserer Nextcloud-Instanz in den Browser unserer Wahl ein. Wie gehabt: Bei einem Zertifikat-Fehler war Let’s Encrypt noch nicht so weit. Kurz warten, „Strg+F5“ drücken, schauen, ob es klappt. Wiederholen, bis es klappt :)

Wenn wir drin sind, sehen wir unsere frisch installierte Nextcloud zum ersten Mal:

Wir geben dem Admin-Account einen Namen und ein starkes Passwort. Dann klicken wir auf den Button „Installation abschließen“.

Wichtig: Da passiert jetzt 30 Sekunden lang nichts und der Kringel dreht sich. Das ist normal, weil im Hintergrund die Datenbank eingerichtet und die Verzeichnisse mit Daten befüllt werden. Das dauert seine Zeit. Einfach abwarten. Den Vorgang NICHT unterbrechen!

Ist die Einrichtung durch, landen wir direkt in unserer Cloud und werden vom Assistenten begrüßt:

Mit dem „Pfeil nach rechts“ schalten wir die Seiten durch und lesen die Infos zu unserem neuen Cloud-Server. Besonders interessant ist die Seite mit den Apps für das Handy und den PC, um die Cloud damit direkt anzukoppeln.

Ein Klick auf das „x“ ganz oben rechts oder der Button „mit Nextcloud arbeiten“ auf der letzten Seite des Assistenten schließt ihn und wir befinden uns auf der Oberfläche von Nextcloud:

Konfiguration abschließen

An dieser Stelle lassen wir den Browser stehen und machen noch eine kurze Ergänzung auf unserem Terminal. Die brauchen wir, damit wir gleich beim „Stresstest“ die bestmögliche Bewertung erreichen :)

nano /var/www/nextcloud.xp-server.de/wwwdata/config/config.php

### zwischen "'installed' => true," und der letzten Zeile ");" einfügen:
  'overwriteprotocol' => 'https',

Diese Zeile fügen wir vor der letzten Zeile mit der schließenden Klammer ein und speichern die Datei (das „Komma“ nicht vergessen!). Der Hintergrund ist, dass Nextcloud nichts von unserem Reverse-Proxy weiß und wir ihm mitteilen, dass der „unsichere“ Port 80 ja eigentlich ein sicheres „https“ ist.

Security Test von Nextcloud

Bevor wir mit der Konfiguration weitermachen, testen wir mal den Stand der Sicherheit von unserem Server. Nextcloud bietet hierfür eigens eine Test-Suite an: https://scan.nextcloud.com/

Hier geben wir die URL von unserem Cloud-Server OHNE „https://“ ein, also in meinem Fall direkt „nextcloud.xp-server.de“. Wir starten den Vorgang mit einem Klick auf den Button „Scan“.

Als „Lohn der Mühen“ bekommen wir das bestmögliche Ergebnis, ein „A+“ :)

Das Nextcloud Security Scan Ergebnis: A+

Klopfen wir uns auf die Schulter, weil das kein anderer für uns tut ^^

Zeit für einen Belohnungs Kaffee! :)

Und nun weiter im Text:

Nextcloud einrichten

Wechseln wir wieder zurück zur Nextcloud Oberfläche. Oben rechts im Menü ist das „Zahnrad-Symbol“. Hiermit gelangen wir in die diversen Admin- und Einstellungsmenüs.

Hier klicken wir auf „Einstellungen“ und befinden uns dann in den „Persönlichen Informationen“:

Nextcloud Einstellungen – Persönliche Informationen – Änderung „Gebitsschama“ und „E-Mail“.

Wir ändern das Gebietsschema auf „Deutsch/Deutschland“ und tragen uns mindestens noch unsere eigene E-Mail Adresse ein, um später den Mailversand testen zu können.

Anschließend wechseln wir auf das Menü „Barrierefreiheit“:

Nextcloud Einstellungen – Barrierefreiheit – Änderung „dunkles Design“.

Versteckt unter dem Menüpunkt „Barrierefreiheit“ aktivieren wir das „dunkle Design“ und schonen unsere Augen…

Nun geht es weiter im Menü „Grundeinstellungen“:

Beim „E-Mail-Server“ stellen wir den Sendemodus auf „Sendmail“, Sendmail-Modus auf „pipe (-t)“ und geben bei Absendeadresse die Mail-Adresse unseres Kontos ein, das wir im „msmtp“-Config-Block verwenden. Dann klicken wir nach der Eingabe des Nextcloud Admin Passworts (Abfrage kommt automatisch) auf „E-Mail senden“ und warten, bis wir unsere Testnachricht erfolgreich empfangen haben. Mailversand? Läuft :)

Oben im Menü leuchtet das „Glocken“-Symbol rot. Schauen wir mal nach, was Nextcloud von uns will…

Nextcloud würde gerne anonyme Nutzungsdaten für die Statistik erheben. Als „Preis“ für die gratis Bereitstellung übertrage ich den Machern der Software gerne diesen Bericht. Wie wir sehen können ist da nichts dabei, das wir geheim halten müssten oder den Server kompromittiert. Wenn wir hier zur Entwicklung beitragen können, bin ich an dieser Stelle nicht abgeneigt…

Damit hätten wir die Basis-Konfiguration so weit durch.

Was noch interessant ist, wäre die „2-Faktor Anmeldung“ und „Serverseitiges Verschlüsseln“. Vielleicht baue ich dazu noch Folgeartikel.

Kontrolle der Verzeichnisse

Zum Abschluss schauen wir noch im Terminal, ob die Mounts richtig funktionieren:

ls -la  /var/www/nextcloud.xp-server.de/wwwdata/data/

drwxr-xr-x  2 root     root 4096 Sep 25 13:03 .
drwxr-xr-x 15 www-data root 4096 Sep 25 13:03 ..

Das „data“-Verzeichnis unter „/var/www“ ist leer…

ls -la  /var/nextclouddata/

drwxrwx---  5 www-data root     4096 Sep 25 13:04 .
drwxr-xr-x 14 root     root     4096 Aug 27 12:48 ..
drwxr-xr-x  9 www-data www-data 4096 Sep 25 13:34 appdata_oc3x14sd1brx
drwxr-xr-x  2 www-data www-data 4096 Sep 25 13:04 files_external
-rw-r--r--  1 www-data www-data  324 Sep 25 13:04 .htaccess
-rw-r--r--  1 www-data www-data    0 Sep 25 13:04 index.html
-rw-r--r--  1 www-data www-data    0 Sep 25 13:03 nextcloud.log
-rw-r--r--  1 www-data www-data    0 Sep 25 13:04 .ocdata
drwxr-xr-x  3 www-data www-data 4096 Sep 25 13:04 nextcloud

Aber in unserem Verzeichnis „/var/nextclouddata“ ist eine Menge los…
Die Mounts funktionieren also und alle „Daten“ von Nextcloud werden wie gewünscht NICHT im „www“-Teil der Installation abgelegt!

Fazit

Damit ist die Installation und Ersteinrichtung von Nextcloud abgeschlossen.
Viel Spaß mit Deinem neuen Cloud-Server :)

Anzeige *

18 Kommentare zu „Nextcloud Docker Container“

  1. Hallo Peter,
    vielen Dank für dein Tutorial – ich vermute die interne Statistik wird dir schon verraten das es gut genutzt wird! Daumen hoch.
    Ich habe leider weiterhin das Problem, dass mein LE-Zertifikat nicht angezogen wird und das Standard-Trafik-Zertifikat genutzt wird. Weißt du aus dem Stehgreif wo potenzielle Fehler liegen / wo ich mal näher reingucken sollte?

    Viele Grüße, Nao

    1. Peter Fiedler

      Hallo Nao,
      freut mich, wenn Dir die Tutorials gefallen.

      Leider müsste ich raten, wo da genau der Fehler steckt.
      Hast Du sonst noch was am Laufen wie WordPress oder Matomo? Werden da die Zertifikate richtig geholt? Falls ja, ist der Fehler in der Nextcloud Config.
      Ansonsten tippe ich auf die Traefik-Config, weil der für Let’s Encrypt zuständig ist.

      Hast Du die anderen Tutorials auch exakt nachgebildet? Läuft bei Dir das Basis-System wie beschrieben, also Debian 10?

      Beste Grüße
      Peter.

  2. Hallo,
    der André mal wieder.
    Sag mal, die Maileinstellungen, welche im Dockerfile angelegt, bzw. geändert wurden, wo kann ich diese „nach konfigurieren“?
    Ich bin mir mit den Einstellungen nicht so sicher, ob die so korrekt sind, weil auch keine Mails raus gehen.
    UND: Danke noch mal für die geilen Anleitungen!!
    BTW: mailcow vs. traefik Integration? Idee?
    Grüße
    André

    1. Peter Fiedler

      Hallo André,

      in der Anleitung zum Image beim Dockerfile Zeilen 178-183 kannst Du den Mailserver einstellen. Glaube aber eher, dass die Einstellung in der Nextcloud-Verwaltung falsch ist:

      Nextcloud E-Mail Server einstellungen

      Das steht bei der Anleitung zum Nextcloud Container auf Seite 3.

      Beim Problem Mailcow ./. Traefik hat Juno diesen Link ausgegraben:
      https://goneuland.de/mailcow-e-mail-komplettsytem-mit-antivirus-spam-filer-webmail-webfrontend-installieren-mittels-docker-und-traefik/

      Entscheidend sind die Punkte 4, 5 und 6, weil die sich von der „normalen“ Installation unterscheiden. Pass die Werte auf Deine Installation an und es „müsste“ laufen.
      Ich mach das nicht, weil ich a) nicht in die Mechanik der Mailcow eingreifen möchte und b) ein anderes Backup-Konzept für meine Mailserver habe, weswegen die Maschinen in jedem Fall getrennt laufen.

      Frohe Pfingsten!
      Peter.

  3. Hallo Peter

    Nochmals Besten Dank für deine hervorragenden Anleitungen. Hast Du Kenntnisse über OCR Scan in der Nextcloud. Diese Funktion würde mir noch fehlen. Habe zwar einiges darüber gelesen. Finde halt zur Zeit den Wald vor lauter Bäumen nicht!

    lg Siegfried

    1. Peter Fiedler

      Hallo Siegfried,
      hmm… Ich wüsste nicht, dass die Nextcloud OCR macht. Also nicht „out of the Box“.
      Wenn Du mehr Info hast, womit das laufen soll, poste doch bitte einen Link.

      Liebe Grüße
      Peter.

  4. Deine Anleitungen gefallen mir sehr gut!
    Aufgrund der aktuellen Situation durch viele Web-Meetings würde ich gerne jitsi-meet auf deiner basis installieren.
    Hast du dich damit schon beschäftigt und würdest support anbieten.

    Gruß
    Sven

    1. Peter Fiedler

      Hallo Sven,
      nein, mit dieser Anwendung hab ich mich noch nicht beschäftigt.
      Ein anderer Nutzer der Tutorials hat mir mal geschrieben, dass er ein Jitsi Image bauen möchte. Leider ist das wohl gescheitert…

      https://github.com/jitsi/docker-jitsi-meet
      Da wäre das offizielle Repository.
      Aber durch Traefik wird sich das nicht ohne Anpassungen schleusen lassen. Alleine schon wegen der zusätzlichen Ports.

      Viel Glück!
      Peter.

  5. Hallo klasse Anleitung. Nur die Hintergrund-Aufgaben lassen sich nicht über Cron automatiseren.
    Hast du eine Idee an was das liegen könnte?

    1. Peter Fiedler

      Hi Juli,
      danke für die Blumen!
      Zu Deinem Problem bräuchte ich aber schon ein bisschen mehr Info…

      Kommt eine Fehlermeldung?
      Falls nicht, brauche ich die Ausgabe von „docker ps -a“ und „crontab -l“ an fiedler@cpf.de

      Frohe Ostern!
      Peter.

  6. Vielen Dank für die wirklich guten Anleitungen! Dank euch habe ich’s geschafft den alten Traefik durch die v2 zu ersetzen. Es war der benötigte Anstoß um alles zu verstehen ;)

    Ein Hinweis, ich habe nach langem suchen einen Fehler in eurer Nextcloud Docker-Compose gefunden.

    Die Zeilen:
    – „traefik.http.routers.nextcloud-sec.middlewares=default-headers@file“
    – „traefik.http.routers.nextcloud-sec.middlewares=calcarddav“
    sorgen dafür, dass Traefik nur eins der beiden anwedet, dies hat bei mir dazu geführt, dass die headers nicht angewendet wurden. Aufgefallen ist es beim Selbsttest von Nextcloud (meckert über STS). Mit dem Label in einer einzigen Zeile
    – „traefik.http.routers.nextcloud-sec.middlewares=calcarddav,default-headers@file“
    Funktioniert es dann. Alternativ könntet ihr auch eine Middleware Chain bilden
    Grüße und weiter so! :)

    1. Peter Fiedler

      Hallo Eike,
      ganz vielen Dank dafür!
      Da ich diese Funktion selber nicht nutze ist mir das bis jetzt nicht aufgefallen…
      Den STS-Fehler hab ich gekonnt ignoriert, da der Wert ja in der Config gesetzt war. Silly me!
      Bleib gesund :)
      Peter.

    1. Peter Fiedler

      Ja, das ist eine blöde Geschichte… Da brauchst einen richtig schnellen Server.
      Ich verwende clientseitige Verschlüsselung mit Cryptomator. Das funktioniert super, wenn Du nur Computer an die Cloud stöpselst. Auf Handys soll das laufen, aber da ist die Geschwindigkeit dann auch grottig.

  7. Andreas Baumruck

    Hallo Peter!
    Die meisten meiner verbliebenen Fragen konnte ich, dank Deiner Anleitung und ein wenig gegoogle, selbst klären.
    Übrig geblieben sind noch diese Punkte:
    NextCloud/WordPress
    -> kann ich Updates einfach über die integrierten Updater einspielen, oder gibt es da etwas zu beachten (ausser vorab einen
    snapshot zu machen?
    Backups
    -> mich würde noch interessieren, wie backup/restore genau ablaufen. Das habe ich nicht wirklich durchschaut

    1. Peter Fiedler

      Bei Nextcloud sind die Updates leider etwas besonderes. Über den integrierten Updater kannst die leider nicht einspielen. Das Ganze läuft wie folgt:
      1.) Ins Nextloud Dockerfile und dort die Version durch die neueste ersetzen.
      2.) Image neu bauen lassen und wieder mit „latest“ taggen.
      3.) Den Container mit „docker-compose up -d“ neu erstellen lassen.
      4.) Einloggen und jetzt den „Aktualisieren“ Button anklicken.
      Das dauert dann ein Weilchen, aber sollte von Erfolg gekrönt sein und dann wieder einloggen.
      5.) Das alte Image löschen. Das geht mit „docker images“ zur Anzeige und dann „docker images rmi [ID]“. Dazu kommt noch ein extra Tutorial.

      Snapshots brauchst da keine machen, weil beide Images noch da sind. Läuft das neue nicht, einfach das alte wieder mit „latest“ taggen und den Container wieder neu bauen lassen – geht wieder.

      Backup / Restore von Nextcloud? Oder Deinen dort gespeicherten Daten? Oder beidem?

Kommentar verfassen

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

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top