Nextcloud Installation im Docker schlägt fehl. Error while trying to initialise the database

  • Meine Dockerconfig lief bis jetzt mit Nextcloud mit einem SWAG Server der das Webinterface und die Zertifikate abholt.

    Jetzt bin ich auf die Idee gekommen auf den Nginx Proxy Manager umzustellen. Nachdem ich die Beschreibung auf Knilix Serverblog versucht habe nach zu vollziehen hat meine alte Config schon mal nicht mehr funktioniert. Ich hab dann mal wieder alles Platt gemacht und versucht das ganze komplett neu zu machen.


    Ich rufe die folgende Docker-compose.yml auf


    version: '2'


    volumes:

    nextcloud:

    db:


    services:

    db:

    image: mariadb

    restart: always

    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

    volumes:

    - /sharedfolders/Docker_Config/Maria_db:/var/lib/mysql

    environment:

    - PUID=1003

    - PGID=100

    - TZ=Europe/Berlin

    - MYSQL_ROOT_PASSWORD=xxxxxxxxx

    - MYSQL_PASSWORD=xxxxxxx #SQL Benutzer Passwort eingeben

    - MYSQL_DATABASE=nextcloud #Datenbank Name

    - MYSQL_USER=nextcloud #SQL Nutzername


    app:

    image: nextcloud:fpm

    restart: always

    links:

    - db

    volumes:

    - /sharedfolders/Docker_Config/Nextcloud_Config:/var/www/html

    - /sharedfolders/Nextcloud_Data:/var/www/html/data


    environment:

    - PUID=1003

    - PGID=100

    - TZ=Europe/Berlin

    - MYSQL_PASSWORD=xxxxxxx #SQL Benutzer Passwort eingeben

    - MYSQL_DATABASE=nextcloud #Datenbank Name

    - MYSQL_USER=nextcloud #SQL Nutzername

    - MYSQL_HOST=db


    ####

    web:

    image: nginx

    restart: always

    ports:

    - 90:80

    links:

    - app

    volumes:

    - /sharedfolders/Docker_Config/Nginx/nginx.conf:/etc/nginx/nginx.conf:ro

    volumes_from:

    - app



    Die Docker werden erstellt und laufen auch. Jetzt rufe ich über Port 90 die Nextcloud auf.

    Jetzt möchte er die Einrichtung abschließen.


    Da erhalte ich dann den Fehler:


    Fehler

    Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.


    Wie kann ich das beheben. Ich bekomme Nextcloud nicht mehr zum Laufen.

    Link zur Beschreibung der ich gefolgt bin:

    https://knilixnext.wordpress.com/nginx-proxy-manager/

  • Damit nicht noch einer Stundenlang im Internet rum sucht. Der Fehler liegt an der neuen MariaDB größer 1,,5,x oder so.

    Sobald die neueste Version installiert ist bringt er immer diesen Fehler. In der Docker-compose.yml sollte mindestens dieser Eintrag drin stehen


    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed

    dann funktioniert es wieder. Ich hab dann gleich mal alle Empfehlungen reingemacht, das schaut dann so aus.


    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --character_set_server=utf8mb4 --collation_server=utf8mb4_general_ci --skip-innodb-read-only-compressed --innodb_large_prefix=on --innodb_file_format=barracuda --innodb_file_per_table=1 --innodb_compression_default=off


    Die Beschreibung von knilixnext ist also soweit immer noch richtig. Das sich die Datenbank hier ändert kann ja keiner wissten.

  • Hi. Ich hab's mal blind geändert. Zum Testen komme allerdings erst am Wochenende dazu. Muss schauen, ob das auch für den Raspi so noch gilt.


    LG Berti

    BS: UNRAID
    HW: MSI B350M MORTAR, Ryzen 3200G, 32Gb Ram, 1 TB NVMe Cache, 1TB SSD VM-Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: calibre-web, db-backup, duckdns, EmbyServer, glances, Grafana, heimdall, InfluxDB, mariadb, nextcloud, nginx, OpenSpeedTest, phpmyadmin, portainer, telegraf, unifi-controller, UniFi-Poller, Wireguard, WordPress
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

  • Ja ich habs schon gesehen in der Beschreibung hast du es schon drin.

    Ich komme aber trotzdem nicht weiter. Sorry das ich dich hier deswegen hier nerve.


    Ich hab soweit alles eingerichtet. Nextcloud läuft soweit nach dem ich den Eintrag gemacht habe. Ich habe aber Nextcloud fertig konfiguriert bevor ich die Verbindung über den Nginx Proxy Manager gemacht habe da ja das Problem mit der Datenbank bestanden hat.


    Jetzt will ich den Zugang nach außen einrichten. Also im NPM nach deiner Beschreibung vorgegangen. Certifikat wird erstellt alles toll.

    Freigaben am Router sind gemacht. Funktioniert einfach nicht.


    Ich hab die Ports für NPM 95:80 und 445:443 das ist soweit auch die Einstellung in der Fritz.


    Intern Benutze ich für den Nextcloud Nginx den Port 90 darüber kann ich auch intern den Server aufrufen.


    Jetzt hab ich noch die Einstellung in der Nextcloud/config/config.php angepasst.


    Schaut so aus


    'trusted_domains' =>

    array (

    0 => '10.20.30.4:90',

    ),

    'datadirectory' => '/var/www/html/data',

    'dbtype' => 'mysql',

    'version' => '22.0.0.11',

    'overwrite.cli.url' => 'https://xxxxxxxprivat.dynv6.net',

    'dbname' => 'nextcloud',

    'dbhost' => 'db',

    'dbport' => '',

    'dbtableprefix' => 'oc_',

    'mysql.utf8mb4' => true,

    'dbuser' => 'nextcloud',

    'dbpassword' => 'xxxxxxx',

    'installed' => true,

    'default_phone_region' => 'DE',

    'overwriteprotocol' => 'https',

    'trusted_proxies' =>

    array (

    0 => '10.20.30.4:90',

    ),

    );



    Wenn ich da scharf schalte komme ich auch nicht von außen drauf und von innen kann ich mich nicht mehr anmelden.


    Ich komme hier einfach nicht weiter.


    So denke ich:

    Ich rufe von extern die https://xxxxxxxprivat.dynv6.net auf komme also über 443 am Router an.

    Der leitet den Port auf den 455 auf 10.20.30.4:445 um der geht auf denn 443 im NPM. Der sagt dann ja toll und Leitet ihn intern auf Http:10.20.30.4:90 um

    und kommt dann bei Nextcloud raus.


    Hab ich hier nen Denkfehler?

  • So Nachtrag ich habe es hinbekommen.

    Ich hab den Port 443 in NPM jetzt doch benutzt und hier keinen anderen angeben das hab ich dann auch noch in der Fritzbox korrigiert und schon bin ich durch.

    Leider hat dann die Config von Nextcloud nicht mehr funktioniert. Wenn ich dann mal angemeldet war hab ich immer den Einleitungsbildschirm bekommen.

    Ich konnte auch nichts wirklich speichern.

    Also ganze Nextcloud nochmal gelöscht und die MariaDB 10.5.11 fest in der yml Datei hinterlegt. Alle rausgenommen bis auf die Command die in deiner alten Beschreibung drin stehen.

    Läuft jetzt mal alles. Ich kann Speichern und der Sicherheitsscanner gibt mir zwar noch den Fehler


    Der "Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens "15552000“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen ↗ erläutert ist


    und wie bei dir


    Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.


    Ersteres würde ich schon noch gerne korrigieren aber der Link funktioniert nicht.


    Was mir noch aufgefallen ist

    in der Config.php von Nextcloud musste bei mir die Adresse des NPM mit Port 443 rein sonst hat es nicht funktioniert.


    Das mit MariaDB ist echt blöd. Naja jetzt muss ich erst mal Nextcloud wieder richtig einrichten.





  • So auch das mit dem Strict-Transport-Security gelöst.


    In der ngnix.cnf


    die Zeile

    #add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload;" always;


    das # weg und den Wert auf 15552000 anpassen. Fehler weg.

  • Nextcloud 22 ist eine Herausforderung....


    Auf OMV5 habe ich folgendes festgestellt. Eine Installation und ein anschließendes Einrichten von Nextcloud über eine Domain und "Nginx Proxy Manager" scheint nicht zu funktionieren. Ständige Datenbankfehler, egal mit welchem command's man arbeitet. Die Lösung brachte nur, dass ich Nextcloud installiere, über die IP-Adresse einrichte und anschließend "NPM" und die Domain hinzufüge. Dabei muss allerdings die config von NC noch angepasst werden. Alles nach der eigentlichen Einrichtung.

    Folgendes muss dann, bevor der "Nginx Proxy Manager" verwendet wird, aber NC schon eingerichtet wurde, in der Config eingetragen werden:


    Folgendes am Ende, aber vor ); einfügen:


    Code
    'default_phone_region' => 'DE',
    'overwriteprotocol' => 'https',
    'trusted_proxies' => 
     array (
       0 => '192.168.1.220',
     ),

    (Unter Trusted Proxies die IP-Adresse des Proxy Managers eintragen)

    Code
    'overwrite.cli.url' => 'https://nextcloud.troubadix.duckdns.de',

    Neuerdings muss ich auch noch die Trusted Domains anpassen. Bei mir müssen beide Sachen drin stehen. Die URL und die Domain:


    Code
    array (
      0 => '192.168.1.79:8080',
      1 => 'nextcloud.troubadix.duckdns.de',
    ),


    Dann Nextcloud neu starten und es läuft wie gehabt.


    Unter OMV6 und Debian 11 funktioniert wiederum die herkömmliche Art und Weise, wie ich sie in meinen Guide beschrieben habe.


    Nachtrag: Neu ist auch die Anforderung der MariaDB. Das "command" kann verwendet werden und funktioniert:


    Code
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --character_set_server=utf8mb4 --collation_server=utf8mb4_general_ci --skip-innodb-read-only-compressed --innodb_large_prefix=on --innodb_file_format=barracuda --innodb_file_per_table=1 --innodb_compression_default=off

    Ich hoffe, auf dem Raspi treten nicht noch weitere Probleme auf. Den teste ich die Tage...


    LG Berti

    BS: UNRAID
    HW: MSI B350M MORTAR, Ryzen 3200G, 32Gb Ram, 1 TB NVMe Cache, 1TB SSD VM-Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: calibre-web, db-backup, duckdns, EmbyServer, glances, Grafana, heimdall, InfluxDB, mariadb, nextcloud, nginx, OpenSpeedTest, phpmyadmin, portainer, telegraf, unifi-controller, UniFi-Poller, Wireguard, WordPress
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

  • Ja das hört nicht wirklich auf. Da ich mit der internen Installation von Collabora Online mir die ganze Nextcloud abgeschossen habe, hab ich halt nochmal angefangen. Man bekommt ja Übung :)


    Die Docker_compose.yml mit image: mariadb:10.5.11 funktioniert einwandfrei. Einrichtung läuft dann auch wunderbar durch.

    Ein Versuch die Mariadb danach auf Latest zu stellen geht wieder voll in die Hose. Wenn man den Container dann wieder mit der 10.5.11 macht gehts wieder.


    Am besten ist es die die config.php sofort nach dem ersten Start zu ersetzen. Ich hab folgende Einträge gemacht


    'default_phone_region' => 'DE',

    'overwriteprotocol' => 'https',

    'trusted_proxies' =>

    array (

    0 => '10.20.30.4:443',

    1 => '172.20.0.1/32',

    ),


    der 172 Bereich ist das Docker Netz in dem die Container. Es hat schon ohne funktioniert aber plötzlich hat der Brutcforce Warner von Nextcloud mich ausgesperrt, da ich meine ganzen Clients angemeldet habe. Nach dem ich das aufgenommen hatte funktioniert es jetzt.


    Ich habe die Beschreibung übrigens von deiner neuen Seite genommen.

  • Das mit Deinen IP's hatte bei mir gar nicht funktioniert. Jedenfalls bei einer Nextcloudversion nicht. Ich weiß nur nicht mehr ob das nextcloud oder linuxserver/nextcloud war. Und mein "Nginx Proxy Manager" läuft separat auf einem anderen Gerät (Raspi) im Netzwerk. Da läuft auch nur ausschließlich "NPM" und "endlessh". Deshalb bei mir die IP-Adresse des Proxys. Eigenartiger Weise läuft alles, was vorher schon eingerichtet war. Meine 2 produktiven Nextcloud-Instanzen laufen schon paar Jahre. Und alles wird regelmäßig mit Updates versorgt. Soll einer die Politik dahinter verstehen :-)


    LG Berti

    BS: UNRAID
    HW: MSI B350M MORTAR, Ryzen 3200G, 32Gb Ram, 1 TB NVMe Cache, 1TB SSD VM-Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: calibre-web, db-backup, duckdns, EmbyServer, glances, Grafana, heimdall, InfluxDB, mariadb, nextcloud, nginx, OpenSpeedTest, phpmyadmin, portainer, telegraf, unifi-controller, UniFi-Poller, Wireguard, WordPress
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

  • Hey,


    hatte diese Woche auch so ein Problem...konnte nicht mehr auf Nextcloud zugreifen, weder APP noch über Browser.

    Bei der App kam immer die Meldung das der Server im Wartungsmodus ist und über den Browser kam die Fehlermeldung:

    Interner Serverfehler

    Der Server konnte die Anfrage nicht fertig stellen. usw.


    Hab dann bei dem Mariadb teil in der docker-compose.yml die Änderung gemacht wie oben schon beschrieben:

    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed


    Danach hab ich gleich probiert ob es wieder funktioniert und siehe da es läuft wieder.


    Hatte dann nur noch im WebBrowser die Meldung:

    Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.


    Hab dann das noch nach installiert und jetzt ist wieder alles ohne Fehler am laufen.

    Hoffe das es jetzt wieder ohne Probleme funktioniert.


    Ach ja diesen Guid hab ich verwendet: https://knilix.home.blog/traef…tcloud-ssl-komplettguide/

    Danke nochmal dafür.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!