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?)
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. Thanks for your help!
Ah! I think I see the confusion.
# /etc/subuid privatenoob:100000:65536
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:
# change ownership of the directory to the UID:GID that matches something in your subuid:subgid range, in this case 10000:10000 podman unshare chown -R 100000:10000 /home/privatenoob/media/storage1/Filmek/
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!