Nextcloud und MariaDB in Docker: Error while trying to create admin user Failed to connect to the database

Ich versuche mit Docker Nextcloud und MariaDB auf einer Synology DS420+ mit DSM 7 zu installieren und komme nicht weiter. Erst bin ich dieser Anleitung gefolgt (da Nextcloud ersteinmal nur im LAN erreichbar sein soll und später via VPN, habe ich auf Portweiterleitungen im Router, Zertifikate und Reverse Proxy verzichtet) und dann diesem Video. Scheinbar gelingt es mir MariaDB zu installieren, eine Datenbank mit Benutzer anzulegen und Nextcloud zu installieren - jedenfalls gab es keine Fehlermeldungen. Das maridadb-Verzeichnis ist auch nicht leer und /docker/mariaDB/nextcloudDB/db.opt existiert. Doch über den Administratoren-Konto anlegen Bildschirm von Nextcloud komme ich nicht hinaus.

Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory

Benutzer und Passwort des Admins wird in diesem Dialog doch erstellt?

Das Datenverzeichnis /var/www/html/data übernehme ich?

Datenbank wähle ich MySQL/MariaDB?

Den Datenbank-Benutzer und den Datenbank-Name hatte ich zusammen mit der Datenbank mit phpMyAdmin erstellt?

Das Datenbank-Passwort ist das MYSQL_ROOT_PASSWORD aus dem MariaDB Container?

Datenbank-Host ist localhost:3306?

Sind bei den Verzeichnissen, Benutzernamen, Passwörtern usw. irgendwelche Konventionen zu beachten (Länge, Sonderzeichen o.ä.)?

Falls jemand eine bessere/narrensichere Anleitung kennt, probiere ich gerne auch diese!

Edit:

Wie müssen die Eigentümer/Rechte von /docker und den Verzeichnissen für MariaDB und Nextcloud sein?

Bei mir gehören sie mal Benutzer 33 (den es nicht gibt) und Gruppe root, mal Benutzer 999 (den es nicht gibt) und Gruppe users.

Moin @wired2051 konntest du dieses Problem lösen? Ich habe aktuell genau das selbe Problem!

Oh sorry, normalerweise schiebe ich meine Lösung nach, hab ich diesmal aber vergessen.

Ich bin dann einer anderen Anleitung gefolgt und habe es mit Hilfe von synology-forum.de geschafft. Leider weiss ich nicht mehr welche Anleitung, deshalb hier meine Notizen (der Editor hier macht sie etwas unleserlich, sorry):

Synology Paket MariaDB 10 installieren
Passwort: # MariaDB 10 root-Passwort
Port: 3306
TCP/IP Verbindung: aktiviert

Konsole: MariaDB Datenbank NEXTCLOUD_DB anlegen und NEXTCLOUD_USER erstellen

user@DS420:~$ sudo su - # (su -) wechselt zu root mit Passwort von user
root@DS420:~# mysql -p # root mit mariaDB verbinden mit root-Passwort für mariaDB
Enter password: # MariaDB 10 root-Passwort
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 10.3.29-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> create database NEXTCLOUD_DB;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> create user ‘NEXTCLOUD_USER’@‘localhost’ identified by ‘NEXTCLOUD_USER_PASSWORT’;
Query OK, 0 rows affected (0.054 sec)
MariaDB [(none)]> grant all privileges on NEXTCLOUD_DB.* to ‘NEXTCLOUD_USER’@’%’ identified by ‘NEXTCLOUD_USER_PASSWORT’;
Query OK, 0 rows affected (0.024 sec)
MariaDB [(none)]>

DSM7 Gemeinsame Ordner NextcloudSync erstellen (Unterordner/Dateien vor Benutzern ohne Berechtigung ausblenden, Papierkorb deaktiviert, Gruppe administrators)

Docker > Nextcloud, offizielles Image (latest), installieren und starten

Name: Nextcloud
erweiterte Einstellungen
Automatischer Neustart: aktivieren
Volume > Ordner hinzufügen > docker > nextcloud # /volume1/docker/nextcloud
MountPfad: /var/www/html/
Volume > Ordner hinzufügen > NextcloudSync > data # /volume1/NextcloudSync/data
MountPfad: /data/
Netzwerk: bridge
Port-Einstellungen > lokaler Port: frei wählen, Containerport: 80 # frei gewählt > Port 80 (HTTP)

Nextcloud-Installation im Browser abschließen
http://IP_DER_DS:6080/

Administrator-Konto
Benutzername: NEXTCLOUD_ADMIN
Passwort: PASSWORD # NEXTCLOUD_ADMIN Passwort für Nextcloud
Speicher und Datenbank
Datenverzeichnis: /var/www/html/data
Datenbank einrichten: MySQL/MariaDB # nicht SQLite
Datenbank-Benutzer: NEXTCLOUD_USER # in Konsole mit MySQL Befehlen erstellt
Datenbank-Passwort # MariaDB 10 root-Passwort, ändern in DS420 > MariaDB 10 > Kennwort, im Klartext in /docker/nextcloud/config/config.php
Datenbank-Name: NEXTCLOUD_DB # in Konsole mit MySQL Befehlen erstellt
Datenbank-Host: IP_DER_DS:3306 # localhost 3306 ist Synology Standardport für MySQL TCP/UDP
Empfohlene Apps installieren (Kalender, Kontakte, Talk, Mail & Gemeinsame Bearbeitung)
Installation inkl. der empfohlenen Anwendungen/Apps dauerte ca. 6 Minuten

Für Aufgabenlisten habe ich als NEXTCLOUD_ADMIN im Menü oben rechts > +Apps > Tasks installiert. Die Aufgabenlisten werden mit CalDav synchronisiert.

Dann solltest du anfangen, als NEXTCLOUD_ADMIN, unter > Einstellungen > Verwaltung > Übersicht > Sicherheits- & Einrichtungswarnungen die Probleme zu lösen. Ich habe inzwischen alle meine beseitigt, wenn Du nicht weiter kommst, frag ruhig (ich habe Notizen :wink: ).

hth