this post was submitted on 09 Jan 2026
12 points (83.3% liked)

Selfhosted

54413 readers
867 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hello everyone,

I am currently trying to transition from docker-compose to podman-compose before trying out podman quadlets eventually. The first couple containers work great but today I tried Linkding and I run into a weird error.

Linkding can't access the data directory because the permission gets denied. After inspecting the container all the directories inside belong to root. But podman runs rootless so that must be the issues. I tried to change the owner of the data directory on the host to root but then the data directory in the container belongs to nobody and nogroup (?). After checking the environment variable documentation of Linkding it seems like there is no environment variable for a UID and GID.

I think I have a fundamental misunderstanding how rootfull and rootless containers work so I would be very grateful if anybody could point me in the right direction on where to get a solution for this problem or anybody had success running Linkding rootless.

Thanks a lot in advance!


Edit:

I used named volumes because that's what the dev used in the example compose file. Now I tried to use named volumes instead and now everything seems to work fine. No error in the logs and the web ui is accessible.

you are viewing a single comment's thread
view the rest of the comments
[–] db_geek@norden.social 1 points 1 day ago (1 children)

@theorangeninja Did you have tried a ls -al on the used volume?
The podman volume path can be found here:
`podman info --format '{{.Store.VolumePath}}'``

When you use $HOME/linkding as volume mount and the linkding container process is running with <> UID 0, then the created files are belonging to another UID than your UID.

Maybe this tutorial explains it better:
https://www.tutorialworks.com/podman-rootless-volumes/

[–] theorangeninja@sopuli.xyz 1 points 1 day ago (1 children)

I checked the tutorial and setting the private label :Z worked when using $HOME/... as bind mount. For named volumes from podman itself that was not necessary, it worked out of the box.

Like I said the dev used bind mounts so I sticked with that but he was probably using docker so he didn't have this problem.

[–] db_geek@norden.social 1 points 1 day ago (1 children)

@theorangeninja I would suggest again, that you try to access the content of the podman volume as host user, which is running the podman container.

I think, that it would looks like this and that you can only access it using podman unshare:
drwxr-xr-x 1 166446 166446 66 28. Jul 20:43 \_data

[–] theorangeninja@sopuli.xyz 1 points 1 day ago

When I run the compose file with bind mount ./data and no :Z label I get these results:

ls -la yields the currently logged in user as owner of the data directory.

podman unshare ls -la yields root as owner of the data directory.

So do you think this is the basis of the problem?