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?)

  • PrivateNoob@sopuli.xyzOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    Okay so I’ve done these steps (it seems rootless podman have been setup by Rocky automatically):

    1. Get subuid:subgid with /etc/subuid:

    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!

    • genie@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 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!