Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr Nextcloud normal “von Hand” installieren könnt. Nun zeige ich euch, wie ihr dies in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Datum | Änderungen |
---|---|
29.03.2020 | Erstellung dieser Anleitung |
26.04.2020 | Optimierungen (letztes Kapitel) hinzugefügt. |
04.09.2020 | DockerCompose angepasst, damit alles wieder funktioniert. |
05.09.2020 | Integration mit Collabora Office hinzugefügt. |
19.08.2021 | Fehler mit Datenbank behoben. Danke an Peter. |
02.01.2022 | Formatierungsfehler der Docker Compose Datei behoben. |
05.01.2022 | Anleitung für Nextcloud 23.0 angepasst. |
03.04.2022 | Kleinigkeiten angepasst. |
26.07.2022 | getestet mit Nextcloud 24.0.3 |
08.09.2022 | Labels für Traefik + CrowdSec angepasst; TRUSTED_PROXIES, OVERWRITEPROTOCOL, OVERWRITECLIURL,OVERWRITEHOST werden nun per Docker Compose festgelegt und nicht später von Hand. |
21.09.2022 | Kapitel 6.5 Cron hinzugefügt |
18.01.2023 | Links zu CrowdSec hinzugefügt, MariaDB Parameter –log-bin=ROW entfernt, MariaDB Parameter MARIADB_AUTO_UPGRADE=1 hinzugefügt. |
29.05.2023 | Update auf neue Traefik Anleitung, Kapitel 2.1 (Traefik IP ermitteln) entfernt |
12.07.2023 | MariaDB auf Version 10.6 festgesetzt |
10.01.2024 | MariaDB auf Version 10.11 festgesetzt. Danke an @goover |
10.01.2024 | Kapitel 6.5 OnlyOffice integrieren hinzugefügt |
04.02.2024 | Kapitel 2 um Dockerfile für bz2 erweitert |
10.03.2024 | Kapitel 7 – Nextcloud updaten hinzugefügt |
12.03.2024 | Kapitel 6.2, 6.3 hinzugefügt. Trusted Proxy in Docker Compose Datei angepasst |
06.05.2024 | Kapitel 2.2 angepasst um “latest”, Kapitel 2.1 “DAV” Traefik Labels entfernt. Danke an @burgsth |
20.05.2024 | Kapitel 6.4 hinzugefügt |
19.09.2024 | Kapitel 6.6 hinzugefügt |
15.11.2024 | Link Traefik v3 hinzugefügt, Kapitel 6.5 und 6.6 hinzufügt |
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
Als Grundlage meiner Anleitung dient die offizielle Nextcloud Anleitung für Docker.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/nextcloud/{database,app,daten}
2. Docker Grundlagen
2.1 Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Nextcloud Compose genommen und diese abgeändert für Traefik.
nano /opt/containers/nextcloud/docker-compose.yml
Inhalt
services: nextcloud-db: image: mariadb:10.11 container_name: nextcloud-db command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /opt/containers/nextcloud/database:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=test #SQL root Passwort eingeben - MYSQL_PASSWORD=test #SQL Benutzer Passwort eingeben - MYSQL_DATABASE=nextcloud #Datenbank Name - MYSQL_USER=nextcloud #SQL Nutzername - MYSQL_INITDB_SKIP_TZINFO=1 - MARIADB_AUTO_UPGRADE=1 networks: - default nextcloud-redis: image: redis:alpine container_name: nextcloud-redis hostname: nextcloud-redis networks: - default restart: unless-stopped command: redis-server --requirepass test # Redis Passwort eingeben nextcloud-app: build: . container_name: nextcloud-app restart: unless-stopped depends_on: - nextcloud-db - nextcloud-redis environment: TRUSTED_PROXIES: 172.30.255.254/16 OVERWRITEPROTOCOL: https OVERWRITECLIURL: https://nextcloud.euredomain.de OVERWRITEHOST: nextcloud.euredomain.de REDIS_HOST: nextcloud-redis REDIS_HOST_PASSWORD: test # Redis Passwort von oben wieder eingeben volumes: - ./app:/var/www/html - ./daten:/var/www/html/data labels: - "traefik.enable=true" - "traefik.http.routers.nextcloud.entrypoints=websecure" - "traefik.http.routers.nextcloud.rule=(Host(`nextcloud.euredomain.de`))" - "traefik.http.routers.nextcloud.tls=true" - "traefik.http.routers.nextcloud.tls.certresolver=http_resolver" - "traefik.http.routers.nextcloud.service=nextcloud" - "traefik.http.services.nextcloud.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.nextcloud.middlewares=default@file" networks: - proxy - default networks: proxy: external: true
Notwendige Anpassungen:
- MySQL Root Passwort ändern
- MySQL User Kennwort ändern
- MySQL User für Nextcloud ändern
- eure Domain bei Traefik anpassen (“nextcloud.euredomain.de”)
- OVERWRITECLIURL anpassen
- OVERWRITEHOST anpassen
2.2 Dockerfile erstellen
Nun erstellen wir uns ein Dockerfile. Dies hat den Grund, dass wir so die Erweiterung bz2 zusätzlich installieren können. Dazu gebt ihr folgendes ein:
nano /opt/containers/nextcloud/Dockerfile
Inhalt:
FROM nextcloud:latest RUN apt-get update && apt-get install -y libbz2-dev && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-install bz2
2.3 Docker Image bauen
Nun lassen wir uns das Image bauen. Dazu gebt ihr folgendes ein:
cd /opt/containers/nextcloud docker compose build --no-cache
3. Nextcloud Server starten
Den Server startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/nextcloud/docker-compose.yml up -d
4. Nextcloud einrichten
Zuerst klickt ihr auf “Speicher & Datenbank”.
Hier wählt ihr nun “MySQL/MariaDB” aus.
Jetzt solltet ihr folgendes sehen.
Gebt hier nun folgendes ein:
Administrator-Konto anlegen
- Benutzername: Wie euer Nextcloud Admin heißen soll
- Passwort: Wählt ein Passwort
Datenbank Verbindung herstellen
- Datenbank-Benutzer: Holt den Namen aus dem Docker Compose Datei
- Datenbank-Passwort: Holt das Passwort aus dem Docker Compose Datei
- Datenbank-Name: Haben wir in Docker Compose auf “nextcloud” festgelegt
- Datenbank-Host: Haben wir in Docker Compose auf “nextcloud-db” festgelegt
Wenn ihr anschließend auf “Installation abschließen” klickt, dauert es ca. 30 Sekunden, bis die Webseite neu lädt und ihr folgendes angezeigt bekommt. Hier könnt ihr auf “Abbrechen” klicken oder alle “Empfohlen Apps” direkt mit installieren lassen. Ich drücke immer abbrechen, da ihr die Apps auch später mit einem Klick installieren könnt.
Anschließend werdet ihr von diesem Startbildschirm begrüßt.
6. Optimierungen
Wenn ihr oben rechts auf eueren “Buchstaben”. Dann wählt ihr “Einstellungen” -> “Übersicht” aus. Nun solltet ihr feststellen, dass Nextcloud noch “Optimierungsbedarf” sieht. Dies wollen wir nun tun.
6.1 Standardtelefonregion festlegen
Dazu öffnet ihr folgende Datei:
nano /opt/containers/nextcloud/app/config/config.php
Fügt nun folgende Zeile hinzu:
'default_phone_region' => 'DE',
Dies setzt die Standardregion auf Deutschland. Beispiele dazu findet ihr hier. Nun könnt ihr die Datei wieder schließen.
Bei mir sieht es dann so aus:
. . . 'dbuser' => 'nextcloud', 'dbpassword' => 'test', 'installed' => true, 'default_phone_region' => 'DE', );
6.2 Der Server hat keine konfigurierte Startzeit für das Wartungsfenster
Dies könnt ihr sehr leicht beheben. Das Wartungsfenster geht immer 4 Stunden. Ihr müsst / könnt hier lediglich wählen, wann es beginnen soll. In unserem Fall soll es um “1” Uhr beginnen.
Wir öffnen folgende Datei:
nano /opt/containers/nextcloud/app/config/config.php
Fügt dort folgendes hinzu:
'maintenance_window_start' => '1',
Wer es um 2 Uhr beginnen lassen möchte, der schreibt hier eine “2” hin.
Bei mir sieht es dann so aus:
'dbtableprefix' => 'oc_', 'mysql.utf8mb4' => true, 'dbuser' => 'nextcloud', 'dbpassword' => 'test', 'installed' => true, 'default_phone_region' => 'DE', 'maintenance_window_start' => '1', );
6.3 .well-known/webfinger und .well-known/nodeinfo kann nicht aufgelöst werden (nur bis Nextcloud Version < 29)
Diese Fehlermeldung solltet ihr nicht mehr bekommen, da wir sie in der Docker Compose Datei bereits behoben haben. Man behebt sie sehr leicht mit folgenden Codezeilen:
nano /opt/containers/nextcloud/docker-compose.yml
Hier fügt ihr folgendes hinzu:
nextcloud-app: labels: - "traefik.http.routers.nextcloud.middlewares=nextcloud-wellknown,default@file" - "traefik.http.middlewares.nextcloud-wellknown.replacepathregex.regex=^(/.well-known.*)" - "traefik.http.middlewares.nextcloud-wellknown.replacepathregex.replacement=/index.php$${1}"
6.4 BadRequest Erwartete Dateigröße
Falls ihr einen solchen Fehler beim Uploaden einer Datei habt:
BadRequest Erwartete Dateigröße von 10485760 Bytes, aber 8306688 Bytes gelesen (vom Nextcloud-Client) und geschrieben (in den Nextcloud-Speicher). Dies kann entweder ein Netzwerkproblem auf der sendenden Seite oder ein Problem beim Schreiben in den Speicher auf der Serverseite sein.
Öffnet folgende Datei:
nano /opt/containers/nextcloud/app/.user.ini
Fügt hier folgendes hinzu:
php_value upload_max_filesize 16G php_value post_max_size 16G
Nun solltet ihr Dateien bis maximal 16 GB hochladen können.
6.5 fehlende optionale Indizes erkannt
Ich bekomme noch folgende Fehlermeldung, dass “Einige fehlende optionale Indizes wurden erkannt. Gelegentlich werden neue Indizes hinzugefügt (von Nextcloud oder installierten Anwendungen), um die Datenbankleistung zu verbessern” fehlen. Dies könnt ihr so beheben:
docker exec -it -u 33 nextcloud-app /bin/bash ./occ db:add-missing-indices exit
6.6 One or more mimetype migrations are available
Dies behebt ihr mit folgendem Befehl:
docker exec -it -u 33 nextcloud-app /bin/bash ./occ maintenance:repair --include-expensive exit
6.7 Container neu starten
Nun starten wir Nextcloud neu um sicherzugehen, dass alle Einstellungen übernommen werden.
docker compose -f /opt/containers/nextcloud/docker-compose.yml down docker compose -f /opt/containers/nextcloud/docker-compose.yml up -d
Nun sollten alle diese Fehlermeldungen behoben sein.
6.8 allgemeine Befehle im Nextcloud Container ausführen
Speziell nach Updates bekommt ihr manchmal eine Meldung wie solche:
One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations.
Ihr bekommt den Befehl angezeigt, welchen ihr ausführen sollt. Hier zeige ich euch, wie ihr dies schnell erledigen könnt. Dazu gebt ihr folgendes ein:
docker exec -it -u 33 nextcloud-app /bin/bash
Nun könnt ihr den Befehl eingeben. In meinem Fall also:
./occ maintenance:repair --include-expensive
Wichtig: Achtet auf “./” vor dem Befehl.
7. Nextcloud mittels CrowdSec absichern
Nun könnt ihr Nextcloud innerhalb weniger Minuten noch zusätzlich mittels CrowdSec absichern. Eine Anleitung dazu findet ihr hier.
8. Collabora Office integrieren
Ich habe hier eine Anleitung geschrieben, wie ihr in wenigen Minuten Collabora Office mittels Docker installiert und in Nextcloud integrieren könnt. Collabora Office ermöglicht euch ein “komplettes online Office” innerhalb von Nextcloud.
9. OnlyOffice integireren
Neben Collabora Office könnt ihr auch innerhalb weniger Minuten OnlyOffice mittels Docker installieren und integrieren. Es hat einen ähnlichen Funktionsumfang wie Collabora Office.
10. Nextcloud Cron einrichten
Nun fügen wir auf unserem Server noch einen Cron Eintrag hinzu. Dieser bewirkt, dass Nextcloud alle 5 Minuten die Hintergrundjobs abarbeitet. Um Cron zu starten gebt ihr folgendes ein:
crontab -e
Beim ersten Start erscheint nun folgende Meldung. Wählt hier “1” aus.
no crontab for root - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.tiny Choose 1-2 [1]: 1
Hier fügt ihr nun folgende Zeile hinzu:
*/5 * * * * docker exec -u www-data nextcloud-app php cron.php
Diese Zeile bewirkt, dass euer Server alle 5 Minuten die “cron.php” Datei ausführt in eurem Nextcloud Container.
Nachdem ihr dies eingerichtet habt, könnt ihr dies auch kontrollieren. Geht dazu in eure Nextcloud als Administrator. Wählt dann bei Hintergrundaufgaben noch “Cron (Empfohlen)”. Hier solltet ihr nun folgendes in den Einstellungen sehen. Wichtig ist, dass die “Letzte Aufgabe ausgeführt…” maximal 5 Minuten sein sollte. Wenn dies so ist, dann funktioniert alles.
11. Nextcloud updaten
Docker bringt uns den Vorteil, dass wir neue Updates einfach mit wenigen Befehlen einspielen können. Da wir im Schritt 2.2 ein eigenes Image bauen, können wir den “normalen pull Befehl” nicht verwenden. Um ein Image upzudaten gebt ihr folgendes ein:
cd /opt/containers/nextcloud docker compose down docker compose build --no-cache docker compose up -d
Wenn ihr auf eine spezielle Version updaten wollt, öffnet ihr folgende Datei:
nano /opt/containers/nextcloud/Dockerfile
Hier könnt ihr nun die genaue Version angeben:
FROM nextcloud:28.0-fpm-alpine
12. Quellen
https://hub.docker.com/_/nextcloud/
Kommt demnächst noch eine aktuelle Anleitung wie Nextcloud mit der aktuellen traefik v3 Version mit Crowdsec abgesichert werden kann? VG Hardy
..oder kann mir jemand die Schritte genau posten…?
Hi Zusammen,
Vielen Dank für die ausführliche Anleitung. Ich habe diese und die für das Setup von Treafik + Crowdsec gut nachvollziehen können. Hut ab!
Bei Nextcloud allerdings komme ich nicht weiter.
Es werden auch nicht alle Resourcen geladen.
In den Chrome Devtools sehe ich viele Resourcen die mit einem 403 abgeleht werden.
in den Crowdsec logs sehe ich dann auch folgendes:
WRN An error occurred while checking IP “” error=”Get \”http://crowdsec:8080/v1/decisions?type=ban&ip=***.***.***.***\”: context deadline exceeded (Client.Timeout exceeded while awaiting headers)”
—
Der Befehl:
> php occ setupcheck
zeigt:
⚠ .well-known URLs: Your web server is not properly set up to resolve
.well-known
URLs, failed on:/.well-known/caldav
ℹ Forwarded for headers: Your remote address could not be determined.
Ich bin mit meinem Latein am Ende und habe keine Ahnung was hier falsch läuft.
Ich hoffe, dass hier jemand ist, der mich in die richtige Richtung lenkt.
Beste Grüße
Tobi
Hallo zusammen, auf der Übersichtsseite unter dem Punkt Verwaltung findet man doch immer Sicherheits- und Einrichtungswarnungen.
Aus mehreren Eintrage geht hervor, dass der Webserver sich selbst nicht erreichen kann, z.B. “Damit diese Prüfung ausgeführt werden kann, müssen Sie sicherstellen, dass Ihr Webserver eine Verbindung zu sich selbst herstellen kann. Daher muss er in der Lage sein, mindestens eine seiner
trusted_domains
oderoverwrite.cli.url
aufzulösen und eine Verbindung zu ihnen herzustellen. Dieser Fehler kann das Ergebnis einer serverseitigen DNS-Nichtübereinstimmung oder einer ausgehenden Firewall-Regel sein.”Eigentlich habe ich die Anleitung besten Wissens umgesetzt, wo kann hier evtl. noch der Fehler liegen?
Guten Morgen zusammen,
Ich habe vor ein paar Tagen auf NC 30 geupdatet, wie bekomme ich den unter 6.3 beschriebenen Fehler beseitigt?
Vielen Dank.
Aktuell habe ich Probleme eine Nextcloud instanz mit dem Image nextcloud:latest (aktuell ist es wohl 29.06) zu installieren. Mit nextcloud:29.0 klappte es tadellos. Geändert habe ich dies im Dockerfile.
Der Fehler tauchte beim anlegen der Maria SQL Datenbank auf.
Punkt 6.4 scheint nicht (mehr) zu helfen, krieg da nichts über 1GB hochgeladen – gibt es da noch Ideen?
Hey, kurze Frage:
Ich habe über die letzten Tage versucht, nach dieser und der Traefik+Crowdsec Anleitung Nextcloud ans laufen zu bekommen, der Traefik-Stack hat dann nach einigem hin und her auch funktioniert, aber hier bekomme ich in Schritt vier immer wieder den Fehler
und kann mir partout nicht erklären, was mir das jetzt eigentlich sagen will. Ich entnehme den Kommentaren, dass es immer mal wieder Schwierigkeiten gab, Nextcloud und MariaDB zusammen zu bringen, könnte es sein, dass mit den aktuellen Images wieder mal was nicht funktioniert?
Viele Grüße
Hallo zusammen,
ich könnte eure Hilfe gebrauchen. Ich musste meinen Server neu aufsetzten und habe meine Backups zurückgespielt. Wenn ich die Container wieder starte bekomme ich beim aufrufen der Oberfläche folgende Melödung:
Fehler
Könnt ihr was damit anfangen? Nach meinen Recherchen müsste das mit den Berechtigungen zu tun haben. Aber wie stelle ich die wieder her?
Ich habe die lösung gefunden. Ich konnte mich an der datenbank anmelden
und der befehl
hat den fehler behoben.
ich hatte seit geraumer eine nextcloudinstanz (erste installationsanleitung von hier) laufen, bis ich feststellen mußte, daß inzwischen gar nichts mehr läuft. Ein terminal über portainer (nach anleitung von hier) ist nicht möglich. Ein anmeldung über eine terminalsitzung auf dem raspi ist jedoch möglich über:
Die fehlermeldung, die ich von nextcloud-db bekomme, lautet:
Das führt offensichtlich dazu, daß die datenbankanwendung nicht mehr richtig – oder besser gesagt: – gar nicht mehr arbeitet. Sie startet zwar, gibt aber nach kurzer zeit obige fehlermeldung aus. Ich habe verzweifelt nach einer lösung gesucht, aber nichts gefunden. Überraschenderweise gibt es bei der installation keinen einzigen befehl, der mysql im namen hat. Das muß offensichtlich durch mariadb- ersetzt werden. Übrigens: ein mariadb-repair funktioniert nicht:
Ergebnis:
Vielleicht kann mir ja hier jemand helfen.
Vielen dank.
jko
Hallo,
nach etwas längerer Zeit ein Nextcloud-Update, Traefik, Crowdsec und Nextcloud sind noch nach der alten Anleitung eingerichtet. Alle Container starten, network ist da, Nextcloud taucht bei traefik auch für einen kurzen Augenblick unter “Services” auf und dann fällt der nextcloud-app-Container in einer Restart-Schleife…
ff6b51e02e80 nextcloud-nextcloud-app “/entrypoint.sh apac…” 35 seconds ago Restarting (1) 3 seconds ago nextcloud-app
9a4000f56ba6 mariadb:11.2 “docker-entrypoint.s…” 38 seconds ago Up 32 seconds 3306/tcp nextcloud-db
ff7bbaef9ce3 redis:alpine “docker-entrypoint.s…” 38 seconds ago Up 32 seconds 6379/tcp nextcloud-redis
Wo kann ich mit “Suchen” anfangen??
Besten Dank für Hinweise!
Hallo,
ich habe ein Problem und hoffe Ihr könnt dabei helfen weil ich mich mit PHP nicht besonders auskenne und da es wohl jetzt ein Problem gibt. Ich habe in der PHP.ini unter /etc/php8.2/fpm die Variablen für den OPcache gesetzt. Mit “systemctl restart nginx” und “systemctl restart php8.2-fpm” PHP neu gestartet. Das Problem, ich habe Nextcloud nicht in den Wartungsmaodus versetzt. Jetzt kommt diese Meldung “Interner ServerfehlerDer Server konnte die Anfrage nicht fertig stellen.
Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an deinen Server-Administrator.
Weitere Details können im Server-Protokoll gefunden werden.”
Ein zurücksetzen der Variablen bringt keinen Erfolg. WO das Serverprotokoll liegt weiß ich auch nicht. Es ist ja nicht das von Nextcloud. Aus dem log in ngix steht das:
2024/06/01 14:16:33 [error] 713625#713625: *69 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.178.48, server: openmediavault-webgui, request: “POST /rpc.php HTTP/2.0”, upstream: “fastcgi://unix:/run/php/php8.2-fpm-openmediavault-webgui.sock:”, host: “192.168.178.138:447”, referrer: “https://192.168.178.138:447/”
Ob das damit zu tun hat weiß ich nicht. Kann da jemand helfen. Vielen Dank schonmal.
Gruß Andreas
Kleiner Tipp: Das manuelle Bearbeiten der config.php hat immer auch Risiken. Man kann diese minimieren, indem man das integrierte CLI-Tool “occ” verwendet und die Werte so setzt:
So kann man damit die Angaben unter Punkt 6.1 folgendermaßen setzen:
Da das ganze immer noch ziemlich unhandlich ist habe ich mir einfach eine Datei ncc.sh ins Nextcloud-Verzeichnis gelegt mit folgendem Inhalt:
Dann noch per chmod +x ncc.sh ausführbar machen. Der Einfachheit halber noch per sudo ln -s /opt/containers/nextcloud/ncc.sh /usr/local/bin/ncc global verfügbar machen.
Jetzt kann man von überall aus einfach Befehle per “ncc” ausführen. Schon viiiel handlicher. Zum Beispiel:
Oder eben halt auch die am Anfang angeführten Optionen setzen.
All diese Dinge kann man damit natürlich auch per cronjob einfach ausgeführt werden:
Das war’s auch schon. Schönes Wochenende 😀
Grüße
Bernd
Hallo Christian hast Du eine Idee wie diese Meldung zu beseitigen ist.
The PHP OPcache module is not properly configured. The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply “opcache.memory_consumption” to your PHP configuration with a value higher than “128”
Laut Doku muss dieser Eintrag angepasst werden.
opcache.jit = 1255
opcache.jit_buffer_size = 128M
Gehört der auch in die .user.ini
Viele Grüße
Hallo,
ich habe ein Problem mit dem Upload von großen Dateien. Konkret geht es um mein Backup von Homeassistant, das ich gerne über das NC-Backup-AddOn auf meine Nextcloud hochladen möchte.
In Nextcloud habe ich die Dateigröße bereits auf 16GB angehoben (über die Angebe der einzelnen Paramter im Environment). Das wird auch korrekt in Nextcloud angezeigt.
Leider funktioniert der Upload trotzdem nicht und wird mit dem Fehler:
zurückgewiesen.
Am AddOn kann es nicht liegen, da die Erstellung der Ordner für das Backup einwandfrei funktioniert hat.
Mein Verdacht ist nun, dass es an Traefik liegt. Ich habe zwar schon ein paar Hinweise zu Erhöhung des Limits gefunden, aber noch nicht konkret, was und vor allem wo ich die entsprechenden Änderungen vornehmen muss.
Kann mir hier jemand dabei helfen?
Schöne Grüße
Jürgen
Hallo miteinander,
ich habe gerade Nextcloud Hub 8 (29.0.0) gemäss der Anleitung oben eingerichtet.
Einzige Abweichtung, ich habe das ofizielle Nextcloud Image verwendet und nicht selbst gebaut.
Bei den Sicherheits- & Einrichtungswarnungen kommt jetzt die Meldung
carddav kann er anscheinen auflösen, caldav aber nicht.
Wenn ich die drei Zeilen
raus nehme verschwindet die caldav Fehlermeldung, dafür kommt eine Meldung dass der HSTS Header fehlt…
Google spuckt nur wirre traefik Labels aus mit denne ich wenig anfangen kann.
Hat jemand eine Idee wie ich das Problem lösen könnte?
Schon mal vielen Dank
Thomas
Servus,
ich habe derzeitig ein Problem.
Ich bin von VMWare auf Proxmox umgestiegen. Nach dem Umzug der Docker Container auf einen Linux Container gibt mir das Webinterface einen Fehler aus:
.mjs
-Dateien mit dem JavaScript-MIME-Typ bereitstellt.Außerdem bekomme ich im Protokoll einen Fehler:
FehlerindexException
OC\Core\Controller\ClientFlowLoginV2Controller::poll(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 230 in file ‘/var/www/html/core/Controller/ClientFlowLoginV2Controller.php’ line 87
Wisst ihr da einen Weg drum? Ist etwas bekannt?
Auf meiner VMWare war das noch nicht so.
Im vordergrund läuft Treafik mit der Anleitung von hier.
Ist die Anleitung auch für einen Raspberry pi 4 mit arm64-Architektur? Welches OS sollte ich zugrunde legen Bullseye oder Bookworm?
Hallo Zusammen,
bei mir läuft das Setup mit Traefik und Crowdsec im Stack. Nun bekomme ich von Nextcloud die Mitteilung über die GUI, das ein Update von 28.02 auf 28.03 verfügbar ist. Ein Update über die GUI ist nicht möglich, es wird auf die CLI-Update-Funktion verwiesen. Weiß von Euch jemand, wie das Ganze unter Berücksichtigung der hier aufgeführten Installationsanleitung ausgeführt wird?
Vielen Dank u viele Grüße
Hape
Hallo Community,
ich habe den Nextcloud Stack gemäß der Anleitung am laufen.
Jetzt kommt seit einiger Zeit folgender Hinweis innerhalb von Nextcloud – Administration:
n dieser Instanz fehlen einige empfohlene PHP-Module. Für eine verbesserte Leistung und bessere Kompatibilität wird dringend empfohlen, sie zu installieren: bz2.
wie kann ich das Modul installieren?
Ein typischer apt-get usw. funktioniert meiner Meinung nach nicht.
Danke euch
VG Heiko
Hallo,
Ich habe auf einem System „TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN„ am Laufen.was muss hier anders gemacht werden, wenn Nextcloud auf einem anderen Rechner installiert wird und ich auf die Traefik incl. Crowdsec verweisen möchte? Ich möchte ja nicht alles doppelt installieren und verwalten.
vielen herzlichen Dank für Hinweise.
Ich empfehle hier mittlerweile nicht mehr das Nextcloud Images (nextcloud – Official Image | Docker Hub) sondern eher das Linuxserver io Images (Releases · linuxserver/docker-nextcloud (github.com)) weil aus meiner sicht dies irgendwie schneller läuft als das andere image. Zumal hier auch der Cron direkt integriert ist und vieles andere besser läuft
MariaDB sollte auf 10.11 festgelegt werden. 10.6 ist eol und 10.11 ist die letzte LTS version. Im übrigen läuft auch die Version 11.2, falls die jemand nutzen will
Moin zusammen,
bereite gerade einen Umzug vor und kam mit der aktuellen 28er Version auf folgenden Fehler:
Drag and Drop funktioniert nicht (https://github.com/nextcloud/server/issues/42136)
Abhilfe durch Wechsel auf 27er Version:
Weitere Tags sind hier ersichtlich:
https://github.com/docker-library/docs/blob/master/nextcloud/README.md#supported-tags-and-respective-dockerfile-links
Nur eine Info, bevor noch jemand unnötig nach der Ursache sucht
Hallo Christian, hallo goneuland,
das ist die erste Anleitung, mit der ich Traefik&Crowdsec&Nextcloud absolut problemlos zum Laufen gebracht habe. Ich hab davor wirklich viel ausprobiert und auch gelernt, aber es wollte einfach nicht klappen. Vielen, vielen Dank dafür.
Da jetzt bald Weihnachten ist :D:D:D, was mir zum totalen Glück noch fehlt wäre “Onlyoffice” in der Nextcloud (auf Basis eurer Artikel) – das wäre eine supercoole Anleitung – da würde ich sogar eine Runde für springen lassen!
Liebe Grüße aus München
Jutsch
Hallo Zusammen,
ich hatte gerade auch den Access Denied Fehler.
Über den Portainer habe ich herausgefunden, dass nicht mein komplettes Passwort übernommen wurde, da es ein $ Zeichen durch den PWD Generator enthalten hat.
Im Portainer war das PWD ab dem Dollarzeichen abgeschnitten.
Neues Passwort mit weniger Sonderzeichen und vor allem ohne $ hat es gebracht.
Viele Grüße Heiko
Hallo Christian,
danke auch von meiner Seite für die super Anleitung.
Ich hatte das Problem, dass ich beim Aufruf der Administration Settings > Apps folgende Fehlermeldung bekommen habe im Loggging:
Warning appstoreFetcher Could not connect to appstore: cURL error 28: Operation timed out after 60000 milliseconds with 4415488 out of 5725187 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://apps.nextcloud.com/api/v1/apps.json
Daraufhin habe ich mich auf die Suche gemacht in der Konfiguration des Proxies, den ich nach der Anleitung für den “Traefik v2 + 3 – Reverse-Proxy mit CrowdSec im Stack einrichten” aufgesetzt habe.
Dort gibt es den Fehler, dass eine Konfigurationsanleitung für den Traefik Proxy die IP 172.16.255.254 enthält und einmal die IP 172.30.255.254. (siehe auch folgenden Kommentar: https://goneuland.de/traefik-v2-3-reverse-proxy-mit-crowdsec-im-stack-einrichten/#comment-3612)
In dieser Anleitung hier wird der Proxy in der docker-compose.yml für den Service “nextcloud-app” folgendermaßen angegeben:
environment:
TRUSTED_PROXIES: 172.16.255.254/16
Um kompatibel mit der Traefik-Crowdsec-Stack Anleitung zu sein müsste es
environment:
TRUSTED_PROXIES: 172.30.255.254/16
sein, oder?
Ich frage mich nun wie die Nextcloud mit dem Proxy vorher überhaupt funktioniert hat.
Und das Timeout mit dem App Server bekomme ich nach Änderung in 172.30.255.254 (in der config.php) immer noch. Weißt du wieso der Zugriff auf den App Server nicht funktioniert und wie das behoben werden könnte?
Grüße
Moin,
ich habe traefik weg gelassen,
und beim einrichten kommt dann eine fehlermeldung?
Fehler
Das Datenverzeichnis /var/www/html/data kann nicht erstellt oder es kann darin nicht geschrieben werden.
wie bzw was kann ich dagegen tun?
Hallo Christian
auch ich habe mich an der Anleitung versucht, allerdings scheitere ich (noch).
Ich habe einen Home-Server der eine dyndns-adresse hat.
Auf der Fritzbox habe ich die Ports 80 und 443 auf das Gerät weitergeleitet.
Traefik ist installiert und läuft unter der Adresse https://xxxx.ddns.net/dashboard/#/ erreichbar.
So weit so gut. Siehe Screenshot
Danach habe ich prometheus und nextcloud gemäss der Anleitung installiert.
Bei den HTTP-Routern tauchen die Container auch auf. Auch Screenshot.
Wie ich es verstehe sollten dann die Seiten via https://nextcloud.xxxx.ddns.net bzw https://prometheus.xxxx.ddns.net/ erreichbar sein.
Das funktioniert jedoch nicht.
Da bekomme ich nur
This site can’t be reached nextcloud.xxxx.ddns.net’s server IP address could not be found.
Try:
Checking the connectionChecking the proxy, firewall, and DNS configurationERR_NAME_NOT_RESOLVED
Check your internet connection.Check any cables and reboot any routers, modems, or other network devices you may be using.
Check your DNS settings.Contact your network administrator if you’re not sure what this means.
Ich dachte immer das sollte gehen?
Traefik ist per https erreichbar und sollte die Anfragen an die subdomains abfangen und an den richigen container senden?
Oder habe ich einen Denkfehler?
Danke schon mal
Ich hatte auch erst (wie jemand hier zuvor) einen Access Denied Error. Nach etwas Recherche und dem Tipp “könnte an der MariaDB Version liegen” habe ich mit docker compose down den container runtergefahren, nochmal alle Dateien unter app/, database/ und daten/ gelöscht, maria db im docker-compose auf die Richtige Version (mariadb:10.6) gesetzt und war nach docker compose up -d –force-recreate erfolgreich 🙂
Vielen Dank soweit für die vielen tollen Tutorials!
Ich versuche gerade erfolglos einen nach dieser Anleitung erstellten Nextcloud-Container mit der Nutzerverwaltung eines Samba-AD (via “LDAP/AD-Integration”) zu verbinden.
Hat das schon jemand erfolgreich geschafft?
Die Nextcloud-Hilfe dazu ist ja eigentlich relativ klar – ich lande aber am Ende bei einem “Connection to LDAP server could not be established”.
Von der Kommandozeile funktionieren die Zugangsdaten, man muss allerdings erst ein Kerberos-Ticket anfordern (Samba-AD eingerichtet nach Buch Kania: Samba 4) – kann das damit zusammenhängen?
Hallo zusammen,
vielen Dank für die guten Anleitungen! Diese waren der Ausgangspunkt für meine verwalteten Server, inzwischen habe ich quasi alles auf Docker umgestellt.
Das letzte war jetzt, dass ich meine private Cloud von einem alten Server mit ownCloud auf einen neuen Server mit Docker und Nextcloud geändert habe.
Hier wollte ich jetzt mein Bilder-Archiv hochladen. Teilweise große Daten (RAW-Bilder mit ~50MB). Hier wollte ich natürlich ganze Ordner hochladen. Jetzt kommt es bei einzelnen Dateien aber zu nicht reproduzierbaren Fehlern. Es wird immer wieder folgendes im Log angezeigt:
Es ist für mich nicht wirklich nachvollziehbar, wann und warum das passiert. Ich hatte die max_chunk_size von Nextcloud auch schonmal auf 5MB reduziert oder wie jetzt hier bei der Fehlermeldung auf 20MB erhöht, das macht keinen Unterschied. Manche große Ordner lädt es auch komplett ohne Fehler hoch. Lade ich anschließend die fehlgeschlagenen Dateien (die ich manuell suchen muss) erneut hoch, klappt es in der Regel…
Im Internet hab ich auch einige Male die Fehlermeldung gefunden, aber keine wirkliche Lösung dafür.
Jetzt habe ich auch in meinen anderen Instanzen geschaut (ich betreue noch 2 Schulen) bei denen es auch mit Traefik+Nextcloud (alle noch nach alter Traefik2-Anleitung) eingerichtet ist, dort treten die Fehler ebenfalls auf!
Woran könnte das denn liegen? Ich bin grad etwas ratlos…
Die Server sind alle bei Hetzner, mit SSD, Internetverbindung ist eine stabile 100/40, Browser nutze ich den aktuellen Firefox unter Mac. Nextcloud auch sämtliche Versionen betroffen (auf meinen Servern sind noch v24/25/26 installiert)
Auffällig ist, dass meistens genau 8192 Bytes (=8kB) Differenz angezeigt werden (unabhängig der Chunk-Größe). Selten werden auch komplett unterschiedliche Werte angezeigt.
Hat nochmal jemand das Problem? Wie gesagt: ich hab das ja auf allen meinen Servern…
Besser noch: hat vielleicht auch jemand eine Idee, woran das liegen bzw. wie man das Problem beheben könnte? 😅
Vielen Dank schonmal
Alex
Hallo,
was mich seit einiger Zeit beschäftigt ist das das Nextcloud auch Systembenachrichtigungen per Mail senden kann. Das was ich dazu bisher im Netz gefunden habe, endet immer wieder bei postfix über einen Freemail anbieter, das ist aber nicht das was ich haben möchte. Mit Malcow komme ich nicht weiter, ich denke aber auch das brauchts daür nicht. Um Tips und Hilfe würde ich mich sehr freuen.
Gruß
d_StaR
Hi Christian, hi Community,
ich habe nach der Anleitung die Installation versucht. Nach Eingabe der Daten im Installationsfenster bekomme ich nach kurzer Zeit einen Internal Server Error und das wars. Ich habe es bereits auch mit der MariaDB-Version 10.8.2 versucht. Leider brachte das auch keinen Erfolg. Hätte jemand einen Tipp für mich? Wo würde ich denn eine Log-Datei finden?
Bin ein wenig ratlos, aber gehe davon aus, dass mir hier bestimmt jemand helfen kann. 🙂
VG Frank
Moin,
Ok, zweiter Versuch. Hat niemand das Problem mit auto-logout, also bei Inaktivität in der Web-GUI von Zeit x, das der Anwender nicht ausgeloggt wird?
Gruß
Andreas
error with latest version of mariadb
mariadb error log
WARN[0000] The “DzaL” variable is not set. Defaulting to a blank string.
WARN[0000] The “DzaL” variable is not set. Defaulting to a blank string.
nextcloud-db | 2022-10-26 18:28:58+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.9.3+maria~ubu2204 started.
nextcloud-db | 2022-10-26 18:28:58+02:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
nextcloud-db | command was: mariadbd –transaction-isolation=READ-COMMITTED –log-bin=ROW –innodb_read_only_compressed=OFF –verbose –help –log-bin-index=/tmp/tmp.aAJjgRXswV
Moin, ich habe zur Zeit privat und geschäftlich 2 nextclouds mit nginx als proxy laufen. Spiele aber schon seit längerem mit dem Gedanken mich eingehender mit traefik als proxy zu beschäftigen und da bin ich auf goneuland gestoßen und muss sagen, das ist die bislang beste Site die mir untergekommen ist, was den Erklär- und Lerneffekt angeht. Chapeau!
Aber dies soll nicht nur ein Lob-Post werden 😉
Ich versuch seit Beginn (Version 16) meiner Arbeit mit nextcloud in einer Docker-Umgebung das Problem mit dem Auto-logout bei inactivity des users Herr zu werden. Ich habe folgenden Parameter in alle möglichen Konstellationen in der config.php ausprobiert. Nichts hat geholfen, der User bleibt weiterhin eingeloggt.
Hier nur mal ein Beispiel auf 1 Minute:
‘remember_login_cookie_lifetime’ => 60*60*24*15,
‘session_lifetime’ => 60 * 0 * 0,
‘session_keepalive’ => false,
‘auto_logout’ => true,
Vielleicht hat einer von euch ja eine Idee/Lösung oder kann mir sagen ob es grundsätzlich mit Einsatz von Docker nicht funktioniert.
Schönes Wochenende und viel Grüße
Andreas
Hallo!
Was macht eigentlich dieser Befehl in der docker-compose Datei:
Es sieht nämlich so aus, also ob dadurch grundlos 1GB große ROW-Dateien erzeugt werden, bis die Festplatte voll ist! Das ist mir jetzt schon auf 2 Instanzen passiert, die ich nach dieser Anleitung aufgesetzt habe. Sehr unangenehm…
Ich habe die Zeile jetzt mal aus der docker-compose Datei entfernt, bislang scheint alles zu passen und es werden keine unnützen Riesenfiles mehr generiert.
Im Nextcloudforum wird auch schon gerätselt, was es damit auf sich hat?!
Auch von mir vielen Dank für das Tutorial, das ganze mit Traefik zu machen ist schon ziemlich nice 😀
Allerdings hackt es bei mir schon bei der Installation, ein ähnliches Problem wurde hier auch schon erwähnt nur wie es gelöst wurde komm ich nicht drauf 🙄
Passwort habe ich mehrfach abgeglichen aber woran hackt es nun?
Was um alles in der Welt ist mit NextCloud los?
Hab es heute mal nach der Anleitung auf meinem Root Server (Netcup) installiert. Der Aufruf ist mehr als extrem lahm. Ich warte jetzt schon geschlagene 15 Minuten, um zu den Einstellungen zu gelangen.
Ich hatte Nextcloud auch mal auf einer Synology installiert, einmal direkt auf der Diskstation und einmal in einer VM, Ubuntu Server Cleaninstall.
Und wirklich jedes Mal war es so extrem lahm, dass es echt keinen Spaß macht, dieses Produkt zu nutzen.
Dann hab ich einfach mal aus Jux und Dollerei eine kostenlose Variante auf hosting.de einrichten lassen. Läuft butterweich, geschmeidig, zügig.
Geht das nur mir so, dass NextCloud nach der Standardinstallation so dermaßen lahm und träge ist und gefühlt Jahrzehnte braucht, um die Inhalte nach einem Klick zu laden? Oder bin ich einfach zu ungeduldig?
Hallo Christian, ich habe versucht, mit dieser Anleitung Owncloud Ocis zu installieren. Dachte, vielleicht brauche ich ja die nextcloud-Einträge nur durch owncloud zu ersetzen und das Image owncloud/ocis zu nutzen. Die Container laufen, aber leider bekomme ich einen 404-Fehler beim Aufrufen der Seite. Wenn Du Zeit hast, könntest Du bitte mal prüfen, wo ich etwas ändern, statt nur ersetzen muss?
Danke Dir.
Gruß
Ronald
Hallo,
danke für die tolle Anleitung, habe es vor Monaten eingerichtet und es ist bis vor 3 Tagen perfekt gelaufen.
Jetzt ist mir leider aufgefallen, dass mein SSL Zertifikat für Nextcloud nicht automatisch erneuert wird. Ich habe auch Collabora und Grafana nach deinen Guides installiert, und hier wird das Zertifikat automatisch erneuert.
Nur bei Nextcloud mag es mir nicht gelingen, auch nachdem ich es manuell aus der acme.json gelöscht habe wird kein neues Zertifikat generiert.
Hat vllt. jemand einen Tipp woran das liegen könnte und wie ich es wieder hinbekomme?
Vielen Dank, LG
Moin Christian,
hast du schon versucht ein HPE für Files aka Client-push einzurichten?
Bisher habe ich es leider nicht zum Laufen gebracht. Ansonsten hätte ich meinen Code schon gepostet. Die Nutzung von Client-push wäre doch gerade für low-end Geräte oder starke Nutzung ein Vorteil.
Hallo Christian
Ich habe es nach deiner Anleitung aufgesetzt funktioniert wunderbar, nur jetzt war ein bisschen Betrieb auf dem Server und mir ist aufgefallen, das der ROW Log sehr schnell voll wird, wo wird das automatische aufräumen bei deiner Konfiguration konfiguriert?
Gruss Stefan
Danke für das super, leicht verständliche Tutorial. Auch das für Traefik selbst.
Allerdings bekomme ich bei der Installation von Nextcloud folgende Fehlermeldung:
“Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [1045] Access denied for user ‘nextcloud’@’172.26.0.4’ (using password: YES)”
Folgende Werte trage ich in die Oberfläche ein, wobei ich hier die Variablen aus der docker-compose.yml eingetragen habe, damit verständlich wird, welche Parameter ich in der Oberfläche eingebe. In Echt habe ich also von unten “MYSQL_USER” durch “nextcloud” ersetzt, wie auch oben in der Fehlermeldung ersichtlich.
Datenbank-Benutzer = MYSQL_USER
Datenbank-Passwort = MYSQL_PASSWORD
Datenbank-Name = MYSQL_DATABASE
Datenbank-Host = nextcloud-db
Hat jemand eine Idee, warum es nicht funktionieren will?
Hallo Christian, Soledad wird für eine Hobbyseite vermutlich zu teuer werden.
https://www.guidingwp.com/soledad-theme-review/#1_6_months_support
###
6 Mointh Support
The customer support for all ThemeForest products is limited to 6 months. Soledad has no exception. However, you can renew support for every 6 months. But it’s almost as expensive as buying a new theme license.
###
FOSS würde zu deiner Seite besser passen.
VG
Thomas
OT – Umzug
Hallo Christian, hat der WordPress Umzug ohne weitere Probleme funktioniert?
Wie heißt das Theme?
Ist deine Website auch eine Docker Instanz?
Sieht ganz gut aus, ohne tiefer eingestiegen zu sein.
VG
Thomas
https://www.c-rieger.de/nextcloud-installationsanleitung/
Die Anleitungen sind auch super und besser zu lesen.
Evtl. ist das WordPress Theme auch was für dich, wenn nicht Github.
Wobei c-rieger ist jetzt auch bei GitHub.
VG
Thomas
Hallo goneuland,
danke für die schöne Anleitung, was muss ich konkret weglassen, wenn ich kein Treafik nutzen möchte?
Wäre es nicht sinnvoll deine vielen guten Anleitung bei Github zu posten?
Das ist besser zu lesen.
Ist die Anleitung auch mit einem VPS Server nutzbar?
VG
Thomas
Moin,
ich hab deine Anleitung abgearbeitet, hänge aber nun am erreichen von Traefik und Nextcloud fest.
Traefik lässt sich bei mir unter “traefik.example.com” nicht erreichen, erst unter “example.com” erreiche ich das Traefik Dashboard. Mag das daran liegen weil meine Adresse “meine.example.com” ist, denn dadurch wäre es “traefik.meine.example.com”?
Nextcloud erreiche ich dadurch gar nicht, weder unter “nextcloud.meine.example.com”, noch unter “meine.example.com”.
Leider finde ich im Internet keine Hilfe dazu…
Was kann ich jetzt machen um das ganze zum laufen zu bringen?
Gruß Mel