I’m trying to recreate an install of pinchflat in a podman container that was working on a previous install, but now I want it to run as its own user. I created the quadlet and put it at /home/pinchflat/.config/containers/systemd/pinchflat.container but the user I’m creating this for is a system user without a shell. So I cannot just su into it or sudo -u the command systemctl --user daemon-reload. I’m not really understanding where I’m going wrong.
Pinchflat is one of the good containers that doesn’t try to play with ID remapping or anything. You just need a container quadlet like the following:
[Install] WantedBy=default.target [Container] Image=ghcr.io/kieraneglin/pinchflat:latest Environment=TZ=CHANGEME Volume=CHANGEME/config:/config Volume=CHANGEME/downloads:/downloads PublishPort=127.0.0.1:8945:8945
It’ll run as the quadlet user id by default.
So I found I had 2 problems. First, I have a Name= line instead of a ContainerName= line in there. Second, diagnosing all this is impossible when theres no shell for that account. Turn on a shell (/bin/bash) for the user, fix this thing, activate it, disable the shell (/bin/nologin), drink heavily.
I ended up with: -----/fuckingarray/homes/pinchflat/.config/containers/systemd/pinchflat.container----------
[Unit] Description=PinchFlat container After=local-fs.target [Container] Image=ghcr.io/kieraneglin/pinchflat:latest ContainerName=pinchflat UserNS=keep-id Volume=/fuckingarray/homes/pinchflat/pinchflatdata/config:/config Volume=/fuckingarray/homes/pinchflat/pinchflatdata/downloads:/downloads PublishPort=8945:8945 Environment=TZ=America/New_York [Install] WantedBy=multi-user.target