That’s why linuxserver is better always. Their method is great.
What I did to use it is either, use a volume directly configured via docker or mount the /config directory in the container to another folder in the system. In this case I made a /docker directory on the root and put all my docker containers data there by directory name (even linuxserver containers). I have no permission issues doing it this way. Always using my PUID:1000 and PGID:100 when it is a linuxserver container of course.
I made oznu/guacamole work with this config (what I currently use under Openmediavault/debian):
version: "2"
services:
guacamole:
image: oznu/guacamole
container_name: guacamole
restart: unless-stopped
ports:
- :8080
volumes:
- /docker/guacamole:/config
Previously was having the same issue as you when using a shared folder, configured under Openmediavault, to host all my containers’ data.