Hallo zusammen,
ich bin seit einer Weile dabei meine Docker Umgebung von meiner Synology Disk Station auf meine Docker VM unter Proxmox umzuziehen. Das klappt bisher auch soweit alles wunderbar.
Nun würde ich gerne alle Docker Volumes auf einen SMB Shares lagern, welcher vom Proxmox Host bereitgestellt wird.
Das ermöglicht mir schneller und einfacher auf die Daten zuzugreifen, besonders relevant für Backups und auch für den geplanten Zugriff auf die Dateien meiner Paperless NGX Umgebung.
Ich habe für das SMB Share auf dem Proxmox Host einen neuen SMB User angelegt mit dem Namen "smbdocker" und mit diesem mounte ich das Share auch über die /etc/fstab innerhalb der Docker VM.
Die UID 1000 ist mein Standard Benutzer in der Docker VM und 988 die Docker Linux Gruppe.
Für den ersten Container acme.sh klappt die Ablage auch ohne Probleme.
Nun wollte ich aber den Paperless NGX Stack umziehen und stoße hier immer wieder auf Berechtigungsprobleme, besonders mit der Postgre SQL Datenbank. Diese möchte scheinbar während der Installation die Ordnerrechte ändern, was auf dem SMB Share nicht klappt. Und auch der Redis Container beschwert sich über fehlende Rechte, wenn ich den Mount nicht mit 777 oder 770 ausführe.
Hier einmal mein Paperless NGX Stack (über Portainer):
Der DB Container wirft anschließend im Log folgenden Fehler:
Und der Redis Container diesen Fehler:
Und Paperless selbst wirft diesen Fehler:
Gibt es eine Möglichkeit einen SMB/CIFS Share für diesen Zweck korrekt zu konfigurieren? (NFS wäre natürlich auch denkbar, wenn es hilft)
Edit:
Hier noch die SMB Share Config zur Info:
Danke
shirocko
ich bin seit einer Weile dabei meine Docker Umgebung von meiner Synology Disk Station auf meine Docker VM unter Proxmox umzuziehen. Das klappt bisher auch soweit alles wunderbar.
Nun würde ich gerne alle Docker Volumes auf einen SMB Shares lagern, welcher vom Proxmox Host bereitgestellt wird.
Das ermöglicht mir schneller und einfacher auf die Daten zuzugreifen, besonders relevant für Backups und auch für den geplanten Zugriff auf die Dateien meiner Paperless NGX Umgebung.
Ich habe für das SMB Share auf dem Proxmox Host einen neuen SMB User angelegt mit dem Namen "smbdocker" und mit diesem mounte ich das Share auch über die /etc/fstab innerhalb der Docker VM.
Bash:
//192.168.1.70/dockerdata /dockerdata cifs credentials=/root/.smbcredentials_dockerdata,uid=1000,gid=988,file_mode=0664,dir_mode=0750
Für den ersten Container acme.sh klappt die Ablage auch ohne Probleme.
Nun wollte ich aber den Paperless NGX Stack umziehen und stoße hier immer wieder auf Berechtigungsprobleme, besonders mit der Postgre SQL Datenbank. Diese möchte scheinbar während der Installation die Ordnerrechte ändern, was auf dem SMB Share nicht klappt. Und auch der Redis Container beschwert sich über fehlende Rechte, wenn ich den Mount nicht mit 777 oder 770 ausführe.
Hier einmal mein Paperless NGX Stack (über Portainer):
Code:
version: "3.9"
services:
redis:
image: redis
container_name: PaperlessNGX-REDIS
restart: no
volumes:
- /dockerdata/data/paperlessngx/redis:/data:rw
db:
image: postgres:16
container_name: PaperlessNGX-DB
restart: always
volumes:
- /dockerdata/data/paperlessngx/db:/var/lib/postgresql/data:rw
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: xxx
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx
container_name: PaperlessNGX
restart: always
depends_on:
- db
- redis
- gotenberg
- tika
ports:
- 8080:8000
volumes:
- /dockerdata/data/paperlessngx/data:/usr/src/paperless/data
- /dockerdata/data/paperlessngx/media:/usr/src/paperless/media
- /dockerdata/data/paperlessngx/export:/usr/src/paperless/export
- /dockerdata/data/paperlessngx/dmsinput:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://redis:6379
PAPERLESS_DBHOST: db
USERMAP_UID: 1045
USERMAP_GID: 100
PAPERLESS_TIME_ZONE: Europe/Berlin
PAPERLESS_ADMIN_USER: xxx
PAPERLESS_ADMIN_PASSWORD: xxx
PAPERLESS_URL: https://paperless.xxx
PAPERLESS_CSRF_TRUSTED_ORIGINS: https://paperless.xxx
PAPERLESS_OCR_LANGUAGE: deu+eng
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000/forms/libreoffice/convert#
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_FILENAME_FORMAT: "{correspondent}/{created_year}-{created_month}-{created_day}_{correspondent} {document_type} {title}"
PAPERLESS_TRASH_DIR: ../media/trash
PAPERLESS_OCR_USER_ARGS: '{"continue_on_soft_render_error": true, "invalidate_digital_signatures": true}'
gotenberg:
image: gotenberg/gotenberg
restart: on-failure:5
container_name: PaperlessNGX-GOTENBERG
ports:
- 3000:3000
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: ghcr.io/paperless-ngx/tika
container_name: PaperlessNGX-TIKA
ports:
- 9998:9998
restart: always
Der DB Container wirft anschließend im Log folgenden Fehler:
Code:
initdb: error: could not access directory "/var/lib/postgresql/data": Permission denied
chmod: changing permissions of '/var/lib/postgresql/data': Operation not permitted
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
Und der Redis Container diesen Fehler:
Code:
1:M 03 Feb 2025 20:18:09.304 # Fatal error: can't open the RDB file dump.rdb for reading: Permission denied
1:M 03 Feb 2025 20:18:09.304 # Fatal error loading the DB, check server logs. Exiting.
Und Paperless selbst wirft diesen Fehler:
Code:
Paperless-ngx docker container starting...
Creating directory /usr/src/paperless/data/index
mkdir: cannot create directory ‘/usr/src/paperless/data/index’: Permission denied
Gibt es eine Möglichkeit einen SMB/CIFS Share für diesen Zweck korrekt zu konfigurieren? (NFS wäre natürlich auch denkbar, wenn es hilft)
Edit:
Hier noch die SMB Share Config zur Info:
Code:
[dockerdata]
comment = dockershare
path = /dockerdata
valid users= @smbgroupdocker
browsable = yes
writable = yes
read only = no
guest ok = no
force create mode = 775
force directory mode = 775
inherit permissions = yes
force user = smbdocker
force group = smbgroupmedia
Danke
shirocko