Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hosted Obsidian app - how are appdata permissions handled?

Featured Replies

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.

  1. Shut down the Docker engine

  2. Go into the Unraid terminal

  3. Rename the "Appdata" share using your desired method (mcedit, mv) to, for example, "Appdata.back"

  4. 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.

  5. Restart the Docker engine

  6. Go into the "Apps" tab and go to "Previous Apps" and reinstall your apps from there.

  7. After they're all back, copy over the contents from the old "Appdata.back" into you new "Appdata"

  8. Start up the containers again and finalize and special perms your containers may need (looking at you Borgmatic)

Thanks!

Edited by GollyJer

  • Community Expert

Look for the support thread for that container:

docker support.JPG

  • 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-1540351

If 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:

image.png

Edited by Frank1940

  • 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!

  • 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.)

  • 1 month later...
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/1436143144868642897

LSIO 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 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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.