Neueinrichtung: Kein Kontakt zur Datenbank

Gern geschehen.
:+1:

NB Eine “Lösung” (mit Haken :white_check_mark:) oder eine kleine Geste der Zufriedenheit als ein “dieser Beitrag gefällt mir” (mit einem Klick auf das Herz :heart: am unteren Rand) bei einem oder mehrerer meiner obigen Beiträge würde mich freuen. Der Applaus wäre (nicht nur aber auch für mich) ein schöner Dank und genug Motivation für künftige ähnliche Hilfestellungen…
:smiley:

Lösung

Hier will ich nun die Lösung präsentieren:

Mit genau 3 Befehlen kommt man zu einer Nextcloud-Installation inklusive Vorgaben, Containerverlinkungen und persistenten Datenordnern auf dem Host-System:

Drei Befehle zur Einrichtung (Kurzform)

  1. docker network create …
  2. docker run … mariadb:latest
  3. docker run … nextcloud:latest

Bei müssen natürlich die richtigen Parameter gewählt werden. Diese werden nachfolgend erklärt.

Drei Befehle zur Einrichtung am Beispiel (ausführlich)

Zuerst nenne ich die Vorgaben, die ich in diesem Beispiel getroffen habe. Die sind ggf anzupassen. Die hier verwendeten Passwörter funktionieren zwar, sollten aber ggf. verändert werden.

Vorgaben Netzwerk

Vorgabe Wert
Netzwerkname: NextcloudNetwork

Vorgaben MariaDB

Vorgabe Wert
Containername MariaDB: nextcloud_MariaDB
Pordner für Daten: ~/docker/nextcloud/MariaDB/
Name Datenbankuser: nextcloud
Passwort Datenbankuser: TestPasswort
Passwort Root: TestPasswort
Datenbankname: nextcloud_db

Vorgaben Nextcloud

Vorgabe Wert
Containername Nextcloud: nextcloud_persistent
Pordner für Daten: ~/docker/nextcloud_test/nextcloud-data/
Name Nextcloud-User: admin
Passwort Nextcloud-User: TestPasswort

Die drei Befehle

1. Netzwerk erstellen

docker network create NextcloudNetwork

2. Container für MariaDB-Datenbank erstellen

docker run \
--name nextcloud_MariaDB \
--network NextcloudNetwork \
--restart always \
-v ~/docker/nextcloud_test/MariaDB:/var/lib/mysql \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=TestPasswort \
-e MYSQL_ROOT_PASSWORD=TestPasswort \
-e MYSQL_DATABASE=nextcloud_db \
-d mariadb:latest

3. Container für Nextcloud erstellen

docker run \
--name nextcloud_persistent \
--network NextcloudNetwork \
--restart always \
-p 8080:80 \
-v ~/docker/nextcloud_test/nextcloud-data:/var/www/html \
-e NEXTCLOUD_ADMIN_USER=admin \
-e NEXTCLOUD_ADMIN_PASSWORD=TestPasswort \
-e MYSQL_DATABASE=nextcloud_db \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=TestPasswort \
-e MYSQL_HOST=nextcloud_MariaDB:3306 \
-d nextcloud:latest

Et violà, es läuft. :wink:
Die Befehle können so kopiert werden. Ich habe den Befehl für eine bessere Lesbarkeit mit \ umbrochen.

Besonderheiten

Der erste Aufruf bestimmt, was beim anschließenden Start in „Trusted Domains“ eingetragen wird. Es lassen sich keine Domains mit -e NEXTCLOUD_TRUSTED_DOMAINS=10.0.1.140 übergeben.