November 5, 2025Nov 5 I have the Obsidian docker up and running. It works great.My primary reason for running it on Unraid is so I can use automations from other docker containers (like n8n) to write notes for me.I pay for Obsidian Sync so anything written to the hosted version syncs to my computers and phone.BUT, sync gets a permission errors.2025-11-04 15:37 - EACCES: permission denied, open '/config/Obsidian Vault/Obsidian Vault/...To get it working I do the unrecommended thing...chmod -R 777 "/mnt/user/appdata/obsidian/Obsidian Vault/Obsidian Vault"But eventually, it seems, unraid or something resets this permission.What is the recommended way to allow app to write to it's own folder? What is the recommended way to allow other docker containers to write to the same folder?I found these instructions on Reddit but I'm not convinced appdata permissions are my exact problem yet.Shut down the Docker engineGo into the Unraid terminalRename the "Appdata" share using your desired method (mcedit, mv) to, for example, "Appdata.back"Run "chown -R root:root ./appdata.back" and "chmod -R 775 ./appdata.back" to recursively change the owner and group to root and set the correct permissions.Restart the Docker engineGo into the "Apps" tab and go to "Previous Apps" and reinstall your apps from there.After they're all back, copy over the contents from the old "Appdata.back" into you new "Appdata"Start up the containers again and finalize and special perms your containers may need (looking at you Borgmatic)Thanks! Edited November 5, 2025Nov 5 by GollyJer
November 5, 2025Nov 5 Community Expert You might want to read this post if you understand what is going on with Linux owner, group and File permissions.https://forums.unraid.net/topic/188600-share-permissions-changed-to-owner-99/#comment-1540351If these settings are not in the Docker container, you are using, you can modify/add them by editing the container variables. When you first open up the Edit page, you will find dropdown settings that are not shown in the 'Basic' setting. The 'Edit' function includes the ability to add variables that are not currently used. You work from here: Edited November 5, 2025Nov 5 by Frank1940
November 6, 2025Nov 6 Author Thanks @Frank1940 I thought for sure this was the solution. I was able to change UMASK from 022 to 000. But it didn't help. (the others were already correct.)After some investigation in the container CLI and reviewing the logs, I discovered this is a GUI/desktop container running X11 display capture, PulseAudio, and window management. The container runs as root internally (which is necessary for the GUI/X11 functionality I think?), and while the environment variables are set correctly, the files created in mounted volumes still show as root:root ownership instead of the expected nobody:users (99:100).Do you know if there's a different approach for handling permissions with GUI containers like this?Thanks again for your help!
November 7, 2025Nov 7 Community Expert At this point, you should be working with the Support setup for this Container as @JorgeB suggested. (I am not a Docker expert but I try to provide support for those folks are having file access issues on the Unraid array.)
November 7, 2025Nov 7 Author Sounds good. Thanks. I have a question already posted in the LinuxServer.io discord. For anyone interested. https://discord.com/channels/354974912613449730/1436143144868642897
January 3Jan 3 On 11/6/2025 at 9:09 PM, GollyJer said:Sounds good. Thanks. I have a question already posted in the LinuxServer.io discord.For anyone interested. https://discord.com/channels/354974912613449730/1436143144868642897LSIO isn't the best place to ask about this as you're not using one of their images. The documentation for your image is here: https://dockerfile.readthedocs.io/en/latest/content/DockerImages/dockerfiles/php-nginx.html. A relevant blurb:This image is using supervisor and runs the daemon under user application (UID 1000; GID 1000) as default. If the container is started under a different user the daemon will be run under the specified uid.You can start a container under a different user by adding a user key to the service. The below will use the $UID and $GID from the environment. If they are unset, then it will default to 99:100, which is nobody:users on Unraid.# docker-compose.yaml services: obsidian-vault-api: image: webdevops/php-nginx:8.3-alpine container_name: obsidian-vault-api user: ${UID:-99}:${GID:-100} environment: ...This is a first step (and backup before you do it!), but if it's not working you should also take a look at the SERVICE_SUPERVISOR_USER from the base environment variables section of the above documentation. It is set to root by default.If that doesn't work either, then try your image developer's Slack link: https://webdevops.io/slack/ Edited January 3Jan 3 by nearcatch
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.