Docker start mit Fehlermeldungen - Dateinen Unterschied

Moin Forum,

Jahre lang lief bei NextCloud Docker ohne Probleme, jetzt habe ich das zweite mal Probleme in kurzer Zeit.

Version : 30.0.0.14

Über das WebInterface erhalte ich folgende Meldung:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

Folgende Fehler Meldung kommt mir im Log entgegen:

mynext  | Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php
mynext  | Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php
mynext  | Warning: /var/www/html/config/smtp.config.php differs from the latest version of this image at /usr/src/nextcloud/config/smtp.config.php
mynext  | => Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting

Unter /docker-entrypoint-hooks.d/before-starting liegt aber leider nichts.

Docker Compose:

services:
  app:
    image: nextcloud
    container_name: "mynextc"
    restart: always
    ports:
      - 7435:80
    labels:
            - "autoheal=true"      
            - "traefik.enable=true"
    healthcheck:
          test: curl --fail http://localhost:80/ || exit 1
          interval: 40s
          timeout: 30s
          retries: 3
          start_period: 60s
    volumes:
      - /FS-Cluster/docker/next/data:/var/www/html
    environment:
      - MYSQL_PASSWORD=*PASSWORD*
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=mynextc
      - MYSQL_HOST=192.168.231.231:60033

networks:
  default:
    name: public-traefik-proxy
    external: true

Anmerkung:
Auch wenn der Container nicht auf dem Gluster-Cluster läuft, ändert das nichts an dem Verhalten.

Wenn jemand einen Lösungsweg oder einen Ansatz dazu hat würde ich mich freuen

Hallo holbe,

das eine hat nichts mit dem anderen zu tun. Ich gehe nicht davon aus, dass du die richtigen Schnipsel aus dem Log erwischt hast. Die ersten drei Einträge sind Warnungen. Ich gehe nicht davon aus, dass es hierdurch zu dem Fehler kommt. Der letzte Eintrag ist ein Hinweis.

Das Docker Image von Nextcloud stellt mehrere Hooks bereit, in die du zu bestimmten Zeitpunkten der Laufzeit Scripte ausführen lassen kannst. Bspw. ein Script, wenn das erste Mal Nextcloud startet oder eben bevor Nextcloud jedesmal startet: GitHub - nextcloud/docker: ⛴ Docker image of Nextcloud

Fahre das Stack einmal komplett herunter mit docker compose stop und dann mit docker compose start wieder hoch. Lass dir mit docker compose logs -f die Logs des gesamten Stacks anzeigen und poste den Teil, mit dem Fehler. Vergiss nicht kritische Informationen unkenntlich zu machen. Eine IP aus RFC 1918 brauchst du natürlich nicht unkenntlich machen.

Tipp: für die Befehle solltest du dich an dem Ort befinden, an dem das compose file liegt. Andernfalls musst du docker mitgeben, wo das compose file liegt: docker compose -f /hier/im/Ordner/compose.yml logs -f

2 Likes

hier das Ergebnis:

mynext  | Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php
mynext  | Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php
mynext  | Warning: /var/www/html/config/smtp.config.php differs from the latest version of this image at /usr/src/nextcloud/config/smtp.config.php
mynext  | => Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting
mynext  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:16::6. Set the 'ServerName' directive globally to suppress this message
mynext  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:16::6. Set the 'ServerName' directive globally to suppress this message
mynext  | [Thu Oct 10 05:55:29.269442 2024] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.2.24 configured -- resuming normal operations
mynext  | [Thu Oct 10 05:55:29.269622 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
mynext  | 127.0.0.1 - - [10/Oct/2024:05:55:33 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:55:41 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:55:46 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:55:52 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:55:57 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:56:02 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:56:07 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:56:13 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:56:18 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"
mynext  | 127.0.0.1 - - [10/Oct/2024:05:56:23 +0000] "GET / HTTP/1.1" 500 702 "-" "curl/7.88.1"

Wenn das alles an “Fehlern” ist, komme ich hier nicht weiter. Den Fehler habe ich im Zusammenhang von Nextcloud 30 jedoch schon mal gesehen. Benutzt du einen Proxy und hast dort mal die Logs geprüft?

Was ich auch nicht verstehe: du hast keine Datenbank in deinem Stack. Ist das richtig oder hast du nur einen Ausschnitt deines Stacks geposted? Weil wenn in der APP nichts wesentliches an Fehlern auftritt, würde ich die Datenbank genauer anschauen. Da wird das Problem vermutlich auftreten.

Ja, es läuft Traefik als Proxy vorweg, das aber auch schon Zeit 1-2 Jahren oder so.
Updates gabe es in den letzten 2 Wochen hier nicht.
Der Proxy ist natürlich auch in der Config.php eingetragen, sowie auch die Domain.

Das keine Datenbank mit eigetragen ist, ist so weit richtig.
Die Datenbank Infos werden mit gegeben und stehen eben so in der Config.php

schaue später mal auf die Datenbank, ggf. lege ich es auf die Hauptdatenbank um.

Schreibe dazu später noch mal.

soweit ich die Logs beurteilen kann startet Apache koeerkt und ich würde erst mal in dem nextcloud.log weiter schauen.

die Fehler sind mE durch den healthcheck verursacht… der code 500 ist aber identisch zum Browser… hast du dein compose file komplett gepostet? du hast wirklich kein redis und kein HPB in Betrieb?

Bitte schaue dir die logs von docker compose up sehr genau an - eventuell finden sich dort Hinweise auf auf das Problem…

Die Datenbank war tatsächliche Offline, bzw der Container war in einem Loop. Cluster-Fail-Over.

Läuft jetzt wieder, also die Datenbank.

Die Compose ist so komplett, seit etwas mehr als 3 Jahren.
Nie Probleme gehabt.

Ich habe jetzt mal den Healthcheck raus genommen um die Fehlermeldungen zu minimieren.

dude@node01:/opt/docker/mynext# docker compose up
[+] Running 1/1
 ✔ Container next  Recreated                                                                                                  0.3s 
Attaching to next
mynext  | Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php
mynext  | Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php
mynext  | Warning: /var/www/html/config/smtp.config.php differs from the latest version of this image at /usr/src/nextcloud/config/smtp.config.php
mynext  | => Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting
mynext  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:16::6. Set the 'ServerName' directive globally to suppress this message
mynext  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:16::6. Set the 'ServerName' directive globally to suppress this message
mynext  | [Fri Oct 11 10:32:15.782881 2024] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.2.24 configured -- resuming normal operations
mynext  | [Fri Oct 11 10:32:15.783060 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Der Fehler lag/liegt In der Datenbank, durch einen Failover im Cluster ist diese Abgestürzt.
Die Replica vom Server war zwar möglich, leider sind User defekt.
Auf diesen Fehler bin ich mit dem Befehl:

docker exec -u www-data mynext php ./occ maintenance:repair

gekommen. Hier war der Bezug auf die Datenbank und den/die Benutzer.

Danke für eure Unterstützung und Hilfe.

2 Likes