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
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 months ago

    Ah! I think I see the confusion.

    # /etc/subuid
    privatenoob:100000:65536
    

    This denotes the range of subuids that are available to your user.

    -u 100000:65536

    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:

    ExecStart=podman run --name=radarr -u 10000:10000 -p 7878:7878 -v radarr-config:/config -v /home/privatenoob/media/storage1/Filmek:/data --restart unless-stopped lscr.io/linuxserver/radarr:latest
    

    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 of 10000.

    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!