Heya, I managed to set up the *arr stack as separate quadlets. The main problem I had was to get the correct permissions for the files inside the containers, and that seemed to be because of the way linuxserver.io is handling the filesystem (don’t quote me on this). Anyways this is how I set up the container segment in the .container file (located in /home/USER/.container/systemd/):
[Container]
Image=lscr.io/linuxserver/radarr:latest
Timezone=Europe/Stockholm
Environment=PUID=1002
Environment=PGID=1002
UIDMap=1002:0:1
UIDMap=0:1:1002
GIDMap=1002:0:1
GIDMap=0:1:1002
AutoUpdate=registry
Volume=/mnt/docker/radarr:/config:Z
Volume=/mnt/media/movies:/data/movies:z
#PublishPort=7878:7878
Network=proxy.network
The thing that made it work for me was the UID-/GIDMaps, which basically translates the UID/GID from the host into the container. All you need to do is change the 1002 ID, which represents the UID and GID of the user that owns the files and directories.
I also have a proxy.network
file placed in the same directory with the content:
[Unit]
Description=Proxy network for containers
[Network]
So I can use that for container-container communication (and a caddy container for external access).
Also notice the AutoUpdate=registry
, which auto-updates the container (if you want that). However you first need to enable the “update-timer”: systemctl --user enable podman-auto-update.timer
Also also, remember to create a file with the user running podman in /var/lib/systemd/linger, so that your containers don’t exit when you logout: touch /var/lib/systemd/linger/USERNAME
And full disclosure, I ended up switching back to docker and docker-compose for my arr stack, however I still strongly prefer podman and run podman container on my externally accessible servers (VPS).
Hope it helps.
Cool, didn’t know that :)
The reason for it was that I found myself fixing weird issues, like the one with the UID map and also an issue where containers couldn’t talk to each other outside of the container network (a container couldn’t talk to another container that used host networking).
I was happy to figure out how to do quadlets, and still prefer dem from a security point of view, but found myself spending more time than I wanted fixing things when I already had a fully working arr stack compose file (which has something like 18 containers in it, that I would need to port).
Now granted I could probably just have run podman-compose, and knowing myself I’ll probably try that later as well :)
Let me know how it goes!