sadly we have no perfect answer for this problem yet and what’s causing it. With the upcoming 1.9 release we should get some better insight after we added the actual error message to the logs.
Meanwhile, could you check what uid owns the directory inside the container? docker exec <container> ls -lan /hedgedoc/public is the command for that.
As you can see, the uploads folder has a different UID than the rest. Could you adjust the UID of the mounted folder to 10000? As hedgedoc inside the container runs with UID 10000 it’ll try to create files as this user, which it’s obviously not allowed.
The same issues still persist. Changing the upload directory (outside of Docker) and then restarting the container will resolve this error: chown -R 10000:10000 /etc/hedgedoc/uploads
The problem is that root permissions are required in order to fix the permissions. Managing the permissions of a docker volume mount directly on docker’s side is still an open issue.
We already have an entrypoint script inside the container image which fixes the permissions of the upload directory - as long as the container is run with root permissions. But since the container is run as non-root by default there is not much we can do about it, other than telling people to fix their permissions manually.