MariaDb und Nextcloud

  • Hallo zusammen,


    Ich experimentiere immer noch damit Nextcloud mit MariaDb in Containern mittel docker-compose zum Laufen zu bringen. Mangels Erfolg hab ich mich von statischen IPs verabschiedet. Meine aktuelle compose-Datei sieht wie folgt aus:


    Das Einspielen erfolgt problemlos. Im Log von MariaDb sieht man sofort fehlschlagende Verbindungsversuche. Dann per Nextcloud-Anleitung den DbUser und die Db angelegt. Auch problemlos.

    Nun per Port 12080 die Nextcloud-Seite aufrufen. Funktioniert im Prinzip auch nur zeigt die Seite einen nichts-sagenden Fehler an. Die Ursache ist schnell gefunden. Es fehlen die Rechte zum Schreiben der Konfigurationsdatei mit folgendem Hinweis:

    Code
    This can usually be fixed by giving the webserver write access to the config directory."

    Nur wie mach das? Für welches Verzeichnis? Wo kann ich das Nachlesen?

    Bitte ausführliche Antworten für nen Dummy... :handbuch:

  • Also ich würde dir empfehlen dich erstmal mit den Grundlagen von docker-compose vertraut zu machen. Denn ein Hauptvorteil von docker-compose, im Vergleich zu "normalen" Containern ist, dass docker-compose zwischen den Containern ein sogenanntes Overlay Network aufbaut. Das heitßt konkret, dass sich die Container gegenseitig "sehen" können und auch keine Ports extra freigegeben werden müssen.

    Bei dir konkret kannst du also unter MYSQL_HOST statt der IP den Service Namen "MHCloudDB" hinterlegen und das Portmapping im DB Service weglassen.

    Nur wie mach das? Für welches Verzeichnis? Wo kann ich das Nachlesen?

    In deiner Konfiguration in Zeile 35. Dort mappst du das Verzeichnis ./app/config in den Container.

  • Du mappst in Zeile 34 ein Volume in den Container. Ab Zeile 35 mappst du hingegen Ordner in den Container. Hast du die Ordner denn auch angelegt? Wenn ja würde ich die mit dem kompletten Pfad angeben und den findest du nur raus wenn du dich per SSH auf dem NAS einloggst. Das garantiert aber immer noch nicht, dass es auch funktioniert. Wenn man auf dem Docker Hub nachguckt, werden dort nur "named volumes" und keine Ordner verwendet. Ich vermute, dass die nextcloud im Container einen eigenen User hat und dieser User hat keine Berechtigung, um in Ordner auf dem Host zu schreiben. Ich habe auch nicht gesehen, dass man für die nextcloud einen speziellen User angeben kann.

  • Azrael783 Ich hab die Ordner in einer Anleitung gelesen und hab das übernommen. Als ich den Nextcloud-Container manuell über die Container-Station angelegt hab, hatte ich diese Ordner nicht angegeben und hatte auch keine Probleme. Ich hab die Ordner natürlich nicht angelegt und demnach versteh ich auch, warum das Schreiben in die Ordner nicht funktioniert. Es geht übrigens wohl um den User mit dem der WebServer läuft. Ich lass die Ordner einfach mal weg und werde überrascht sein, dass es dann funktioniert. Klingt für mich jedenfalls logisch.


    tuxflo Danke für den Hinweis. Werde ich beim nächsten Experiment berücksichtigen.


    Ergänzung:


    Wie erwartet hat die Anlage funktioniert. Wichtig war nur, dass ich die bereits vorhandenen Volumes wieder entferne.

    Einmal editiert, zuletzt von was19 () aus folgendem Grund: Ergänzung