Nextcloud Data Volume via Docker unter Windows

c0stunga

Cadet 3rd Year
Registriert
Feb. 2013
Beiträge
44
Hallo zusammen,

ich quäle mich schon länger mit dem Versuch nextcloud via Docker auf meinem Dell T30 so einzurichten, dass das Data Volume auf einer anderen Festplatte als die Docker Umgebung und somit auch der nextcloud Container liegt.

Ich bin sowohl beim Thema nextcloud als auch docker ziemlich neu, hab mich aber mittlerweile recht viel eingelesen.
Das Problem ist, dass docker bei mir auf einer SSD läuft, die Daten aber auf eine HDD ausgelagert werden sollen. Docker erwartet aber vom Berechtigungsschema eine Linux Partition.
Wenn ich bei der Einrichtung via docker-compose bereits den Pfad zur HDD angebe erhalte ich später auf dem Webinterface folgende Meldung und kann mich auch nicht im System arbeiten:
Code:
Your data directory is readable by other users

Please change the permissions to 0770 so that the directory cannot be listed by other users.

Im Netz habe ich bisher nur einen Lösungsvorschlag gefunden um die Sicherheitsprüfung abzuschalten, so dass nextcloud egal ist ob von außen Dateien gelesen/geändert werden können. Unabhängig davon, dass ich diesen Lösungsansatz nicht hinbekommen habe, ist das meiner Meinung auch alles andere als optimal.

Hat hier jemand bereits erfolgreich nextcloud via Docker auf einem Windows System laufen, mit getrenntem Volume und HDD für die Daten?

Bin dankbar für jede Hilfe.

Gruß,
Andy
 
  • Gefällt mir
Reaktionen: konkretor
c0stunga schrieb:
Hat hier jemand bereits erfolgreich nextcloud via Docker auf einem Windows System laufen, mit getrenntem Volume und HDD für die Daten?
Da bin ich auch am Grübeln, weil das für mich auch neu ist. Nextcloud als System in einem Container, fast wie ein Live-Linux hat seinen Reiz. Wie man jetzt aber Terabyte an Daten anbinden kann, ohne sie in den Container zu kopieren, habe ich noch nicht ganz herausgefunden. Vielleicht blicke ich die ganze Lage auch nicht. ;)
Du kannst aber mal als App in Nextcloud "Externe Speicher" installieren. Danach auf Einstellungen, Verwaltung, Externe Speicher. Vielleicht bekommst du so Speicher von außen herangebastelt.
 
Wilhelm14 schrieb:
Wie man jetzt aber Terabyte an Daten anbinden kann, ohne sie in den Container zu kopieren, habe ich noch nicht ganz herausgefunden. Vielleicht blicke ich die ganze Lage auch nicht. ;)

Dafür gibt es den Parameter -v womit du Mounts von deinem HostSystem in den Container einbinden kannst.

https://www.digitalocean.com/community/tutorials/how-to-share-data-between-docker-containers

Aber es wird halt ein Linux Dateisystem vorausgesetzt was unter Windows mehr oder weniger Probleme bereitet.
 
Nextcloud läuft bei mir als Linux-Container im Docker unter Windows. Es ist also möglich.
Eine Sicherheitsprüfung muss man dafür nicht deaktivieren. Bei mir liegen die Datenverzeichnisse im Hostsystem allerdings im gleichen Ordner der compose-Datei, das vereinfacht das Einbinden in den Container. Wenn ich zuhause bin kann ich mal meine wenn auch unspektakuläre compose posten.
 
@surtic
Wenn ich also meine Datenfestplatte als ext4 formatiere sollte die Trennung wie geplant funktionieren?
Ist nicht weiter tragisch, wenn ich auf die Daten aus Windows heraus nicht übers Filesystem zugreifen kann, dafür gibt's ja den Client, Webinterface und webDAV.

@pvc-junkie
Liegt bei dir denn auch das Data-Volume auf einer anderen Partition/Festplatte wie der nextcloud container?
Bei mir läuft Nextcloud ja auch als Linux-Container unter Windows ohne Probleme. Nur läuft die SSD langsam voll :D
 
Hier meine docker-compose.yml.
Code:
version: '3.5'

services:
  nextcloud:
    image: nextcloud
    container_name: nextcloud
    restart: always
    volumes:
      - ./html/:/var/www/html
      - ./apps/:/var/www/html/custom_apps
      - ./config/:/var/www/html/config
      - ./data/:/var/www/html/data

Die Dateien liegen im Windows-Dateisystem auf dem Host und werden in den Container ins Linux-Dateisystem gemappt.
Die 4 Ordner habe ich vor dem ersten Start angelegt und NextCloud hat sie mit den benötigten Daten gefüllt.
Code:
apps
config
data
html
docker-compose.yml
Eigentlich alles wie NextCloud Docker Container beschrieben.
 
Okay, genau das funktioniert bei mir nicht.
Gerade mit deiner yml versucht und erhalte wie gewohnt diese Meldung:

Ihr Datenverzeichnis kann von anderen Benutzern gelesen werden
Bitte ändern Sie die Berechtigungen auf 0770, so dass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.
 
Windows Server 2019 könnte der Knackpunkt sein. Da wurde ja einiges bzgl. Container-Technik getan. Nutze noch Windows Server 2016. Mein ursprüngliches docker-compose.yml ist zwar deutlich umfangreicher mit SSL, Proxy und MariaDB aber da es auch wie gesagt mit deinem file nicht funktionierte wird das vermutlich nicht die Ursache sein.

@Wilhelm14
Hatte ich bisher noch nicht getestet, ist aber auf jeden Fall einen Versuch wert. Auch wenn das ja erst nachträglich geht und somit erst mal die Verzeichnisse im Standard-Volume angelegt werden. Aber das sollte das geringste Problem sein.
 
Mit Windows Server 2016 hast du wahrscheinlich keine Chance. Die halbwegs brauchbaren Docker-Features sind erst im Windows Server SAC oder Windows Server 2019 hinzugekommen. Bin aus diesem Grund auch umgestiegen.
 
Zurück
Oben