I’m trying to setup my first homeserver with pods alone but I can’t add my mounted /data (it’s an external HDD) folder to the root folder, but the /app and /config works. It’s a common issue but somehow I wasn’t able to solve it.
OS: Rocky Linux 9.3
External HDD (WD Elements)
external HDD in /etc/fstab:
# WD Elements drive UUID=4655386a-5ccf-4c7b-ad6a-c0b90ccf8454 /home/privatenoob/media/storage1 xfs defaults 0 0
radarr.service:
[Unit] Description=Radarr Movie Server After=network.target [Service] ExecStart=podman run --name=radarr -e PUID=1000 -e PGID=1000 -e UMASK=002 -p 7878:7878 -v radarr-config:/config -v /home/privatenoob/media/storage1/Filmek:/data --restart unless-stopped lscr.io/linuxserver/radarr:latest ExecStop=podman stop radarr Restart=on-failure [Install] WantedBy=default.target
Permissions:
drwxr-xr-x. 2 privatenoob privatenoob 6 Jan 17 16:52 Filmek drwxr-xr-x 4 abc users 139 Jan 18 19:44 config drwxr-xr-x 2 root root 6 Jan 17 15:52 data
chown -R 1000:1000 /data didn’t work. It gave permission denied, even though I used root (probably this is because of -e PUID=1000?)
genie@lemmy.world 9 months ago
There are a few ways around it. The simplest is to add the
–privileged
option.The more secure method with podman is by specifying a user (ex
-u 10001:10001
) from your extended subuid:subgid range after your full and proper setup of rootless podman :-)Then instead of
chown
you’ll want to use the oddly namedpodman unshare
tool to automatically set the permissions of the host directory. You would then want to start your service withsystemctl --user
instead ofsudo systemctl
PrivateNoob@sopuli.xyz 9 months ago
Okay so I’ve done these steps (it seems rootless podman have been setup by Rocky automatically):
privatenoob:100000:65536
2.:Changed ExecStart to this:
ExecStart=podman run --name=radarr -u 100000:65536 -p 7878:7878 -v radarr-config:/config -v /home/privatenoob/media/storage1/Filmek:/data --restart unless-stopped lscr.io/linuxserver/radarr:latest
3.:
podman unshare chown -R 100000:65536 /home/privatenoob/media/storage1/Filmek/
Unfortunately unsharing gave me invalid arguments.
chown: changing ownership of ‘/home/privatenoob/media/storage1/Filmek/’: Invalid argument
I have tried by leaving the -e PUID=1000 parts on but those didn’t work either. Yeah and I’m using systemctl --user.
genie@lemmy.world 9 months ago
Ah! I think I see the confusion.
This denotes the range of subuids that are available to your user.
This part specifies two things ([UID]:[GID]) even though it’s the same syntax as the earlier part that specifies one range :)
I suspect what you will want to do is use the following:
Then we can specify that the user in the container can match the user (UID) we specified above:
As a note, if you copy/pasted that ExecStart line, you might have gotten the invalid argument error because you entered
100000
(outside of your subuid range, i.e. >65536) instead of10000
.There’s a nice guide that gives a great walkthrough. I’ll dig through my bookmarks and add it here when I get some time.
Hope this helps!