Ich bin auf diesen älteren Thread gestoßen, weil ich ähnliche Probleme hatte.
PID/GID=0 wollte ich allerdings nicht verwenden, ebenso wenig wie SQlite.
Hier also mein Lösungsansatz - vielleicht hilft es jemandem.
Scenario:
DSM218+ mit DSM7.2, Directory Server, Container Manager, MariaDB
Docker Image: linuxserver/digikam
Code:
services:
digikam:
image: linuxserver/digikam:latest
container_name: digikam
hostname: digikam
networks:
- bridge_custom
cpu_shares: 50 #CPU Prio 10 low/50 medium/90 high
mem_limit: 1610612736 # 1,5 GB
environment:
- PUID=4242539656 #domain user with access to domain group below
- PGID=4242539621 #domain group for file access to /volume1/photo
- TZ=Europe/Berlin
- LC_ALL=de_DE.UTF-8
- KEYBOARD=de-de-qwertz
volumes:
- /volume1/docker/digikam:/config
- /volume1/photo:/photo
ports:
- 3050:3000 #HTTP
- 3051:3001 #HTTPS
restart: unless-stopped
networks:
bridge_custom:
external: true
Die Datenbanken für Digikam liegen auf der MariaDB direkt auf DSM. Ich verwende ein custom bridge network, weil es gegenüber dem default bridge network Vorteile hat bzgl DNS Auflösung des MariaDB FQDNs etc - siehe hier:
https://docs.docker.com/engine/netw...n-user-defined-bridges-and-the-default-bridge
Der Docker-Ordner für Digikam gehört dem Domainbenutzer.
Im DSM habe ich eine Gruppe angelegt, die Lese- & Schreibberechtigung für das Photo-Verzeichnis hat. Die Gruppe ist dem Digikam-Benutzer zugewiesen.
Die GID ist eindeutig, aber statt nun die Standardgruppe des Benutzers als GID anzugeben, habe ich die mit der ID der Gruppe ausgetauscht, die auf das Photo Verzeichnis Zugriff hat.
Im Docker Container Terminal sieht das Ganze so aus:

Und auf der Diskstation werden die UID und GID dementsprechend umgesetzt:

Somit passt es mit den ACL Berechtigungen wunderbar zusammen mit einem dedizierten Benutzer für Digikam.
Gruß
win7x8664
PS: Nachtrag: Ab und zu benutze ich die Datenbanken auch von einem Digikam auf meinem Laptop. Die Schreibweisen für die Adresse des Fotokatalogs passen dann leider nicht (Windows/Linux). Aber Digikam hat dafür eine eigene Funktion, die das wunderbar kompensiert:
https://docs.digikam.org/en/setup_a..._settings.html#the-network-shares-specificity