Nextcloud & Einbinden externe Speicher

Ben2013

Benutzer
Registriert
01. Nov. 2021
Beiträge
121
Reaktionspunkte
11
Punkte
18
Hallo,

im Nextcloud Forum habe ich das Anliegen bereits geschildert und diskutiert: https://help.nextcloud.com/t/externe-speicher-einbinden/214640/7
Da es beim Synology nicht um ein 100% kompatibles Linux-System handelt, konnte man mir da nicht weiterhelfe. So versuche ich es hier nochmals:

Es geht darum, dass im Nextcloud keine externe Speicher zur Verfügung gestellt werden können.

Nextcloud läuft als Docker-Container.Container-Image: nextcloud:latest

Wenn in nextcloud die verwaltungswebseeite von "externe Speicher" geöffnet wird, dann stürzt die Webseite ab:

1736614782063.png


Zusätzlich wird im Protokoll imme wieder ein Fehler Protokolliert:

Code:
Exception
No parameters in call to OC\DB\QueryBuilder\ExpressionBuilder\ExpressionBuilder::orX
Calling OCP\DB\QueryBuilder\IQueryBuilder::orX without parameters is deprecated and will throw soon.

Anwendung: workflowengine
Flow activation: rules were requested for operation Zugriff auf Datei verhindern

Weiß jemand, wie man diese Fehler beseitigen kann?
 
ich würde mal diesen Thread nutzten um meine Fragestellung mit dem externen Speicher zu stellen.
Dabei habe ich ja nach mariushosting´s Anleitung Nextcloud installiert, dies läuft auch soweit. Wie kann ich nun Dateien auf der Synology wo ja auch Nextcloud läuft darauf zugreifen? Muss ich im Stack den Pfad eingeben oder unter Portainer > Containers > Nextcloud > Volume mapping was eintragen?

Auf folgendes Beispiel würde ich Zugriff haben "/volume1/Public" wollen. Kann mir da jemand helfen?


services:
mariadb:
container_name: Nextcloud-DB
image: mariadb:11.4-noble #LTS Long Time Support Until May 29, 2029.
security_opt:
- no-new-privileges:false
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-read-only-compressed=OFF
volumes:
- /volume2/docker/nextcloud/db:/var/lib/mysql:rw
- /volume2/docker/nextcloud/db:/etc/mysql/conf.d:rw
environment:
- MYSQL_ROOT_PASSWORD=xxxxxxxxxxx
- MYSQL_PASSWORD=xxxxxxxxxxxxxxxxxxx
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=Europe/Berlin
restart: on-failure:5

redis:
image: redis
container_name: Nextcloud-REDIS
hostname: nextcloudredis
user: 1029:100
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
volumes:
- /volume2/docker/nextcloud/redis:/data:rw
environment:
TZ: Europe/Berlin
restart: on-failure:5

nextcloud:
container_name: Nextcloud
ports:
- 8082:80
depends_on:
mariadb:
condition: service_started
redis:
condition: service_healthy
environment:
- REDIS_HOST=nextcloudredis
- NEXTCLOUD_ADMIN_USER=xxxxxxxxxxx
- NEXTCLOUD_ADMIN_PASSWORD=xxxxxxxxxxxxxxxx
- NEXTCLOUD_TRUSTED_DOMAINS=nxxxxxxxxxxxxxxxxxxxxxxxnology.me 192.168.178.38
- TRUSTED_PROXIES=192.168.178.38
- OVERWRITEHOST=nextxxxxxxxxxx9.synology.me
- OVERWRITEPROTOCOL=https
- MYSQL_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxx
- MYSQL_DATABASE=xxxxxxxxx
- MYSQL_USER=xxxxxxxxxxxxxxxxxxxxxx
- MYSQL_HOST=mariadb
healthcheck:
test: curl -f http://localhost:80/ || exit 1
volumes:
- /volume2/docker/nextcloud/html:/var/www/html:rw
- /volume2/docker/nextcloud/custom_apps:/var/www/html/custom_apps:rw
- /volume2/docker/nextcloud/config:/var/www/html/config:rw
- /volume2/docker/nextcloud/data:/var/www/html/data:rw
- /volume2/docker/nextcloud/themes:/var/www/html/themes:rw
image: nextcloud
restart: on-failure:5

cron:
image: nextcloud:apache
container_name: Nextcloud-CRON
restart: always
volumes:
- /volume2/docker/nextcloud/config:/var/www/html/config:rw
- /volume2/docker/nextcloud/html:/var/www/html:rw
- /volume2/docker/nextcloud/custom_apps:/var/www/html/custom_apps:rw
- /volume2/docker/nextcloud/data:/var/www/html/data:rw
entrypoint: /cron.sh
depends_on:
mariadb:
condition: service_started
redis:
condition: service_started
 

Anhänge

  • Screenshot 2025-03-25 203334.png
    Screenshot 2025-03-25 203334.png
    61,1 KB · Aufrufe: 8
  • volume1.png
    volume1.png
    208,8 KB · Aufrufe: 8
Zuletzt bearbeitet von einem Moderator:
Hallo Kenji,

standardmäßig werden alle Dateien im Pfad /var/www/html/data/[Benutzername]/files/ abgelegt.

Um Dateien allen Benutzern zugänglich machen zu können, kann man die App "Team Folders" in Nextcloud installieren.

Mit der Installation wird ein neuer Benutzer "__groupfolders" eingerichtet. Nach der Einrichtung eines Team Ordners wird eine fortlaufende Nummer als Ordner erstellt, in dem künftig alle Dateien angelegt werden.

Nun könnte man den Pfad /var/www/html/data/__groupfolders/[interneNummer]/ über eine Docker-Volumen-Eintrag auf einen anderen Pfad umleiten.

Wenn allerdings im neuen Pfad die Dateien direkt geändert werden, dann müssen die Änderungen mit einem scan-Vorgang in Nextcloud bekannt gemacht werden. Der Scan-Befehl kann allerdings auch das Erstellungsdatum von den Dateien in Nextcloud verändern. So war es zumindest noch vor etwa 2 Jahren gewesen.

Dieses Verfahren kann man anwenden, um intern eine "externen Speicher" in Nextcloud mit Einschränkungen zur Verfügung stellen zu können.
 
Gibts dafür noch einen Smarten Weg?
 
Folgendes habe ich mal ausprobiert. Was meinst du den mit "fortlaufende Nummer als Ordner erstellt"? Ich kann den Team Folder ja bennen wie ich will.

Bei keiner Option die ich derzeit eingestellt habe ist im Ordner was zu sehen > Storage is temporarily not available unter Externale Storage

Kannst du mir da helfen?


4.png5.png2.png
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat