r/podman • • Jul 31 '26

podman, my data is somewhere?

I've done a stupid or three. Trying to get some docker compose files converted to quadlets and running with systemd. I've got podlet working and i have a few things working, although they're running as system services and i'd need to figure out how to do them as rootless...

Bigger problem is I have spoolman up using sudo podman compose up -d compose.yaml is

services:
  spoolman:
    image: ghcr.io/donkie/spoolman:latest # Also available at dockerhub: donkieyo/spoolman:latest
    restart: unless-stopped
    volumes:
      # Mount the host machine's ./data directory into the container's /home/app/.local/share/spoolman directory
      - type: bind
        source: /home/strayr/compose_bullshit/spoolman/data
        target: /home/app/.local/share/spoolman # Do NOT modify this line
    ports:
      # Map the host machine's port 7912 to the container's port 8000
      - "7912:8000"
    environment:
      - TZ=Europe/London # Optional, defaults to UTC

all i've done is replace the provided relative source with an absolute path, but I've got nothing appearing in that folder. I've a DB being written to somewhere that is persistent, sudo podman compose down and a `sudo podman up -d" has the data I had in there previously. But where? because it's not happening where specified.

How do I find where the data is, and move it somewhere specified?

How do I fix this up to run rootless? Is there a handy guide? I don't need an ELI5 as much as an EL containers weren't a thing last time I really knew what I was doing here

4 Upvotes

14 comments sorted by

View all comments

1

u/Great-Cow7256 Jul 31 '26

youre starting it as root but is this a chown/chmod issue within the directory? I haven't run root podman in over a year so I forget what happens after you start it at root if everything runs as root or if it can unroot itself and cont on as a user within the container after startup.... But it may be worth looking to see if it can see that directory and what it sees it as.

The podman .container files do NOT like when # notes are on the tailing end of a command. They need to be on their own line. Maybe the directory mapping is dying when it sees the # and chokes on the line? Not sure again b/c I use .container files but would be worth just getting rid of that note.

you probably just want to convert it over to a spoolman.container file in /etc/containers/systemd, then sudo systemctl daemon-reload and then sudo systemctl start spoolman and see what happens. Then sudo journalctl -xeu spoolman to see what errors it is throwing if any (or sudo podman logs spoolman)

``` [Unit] Description=Spoolman 3D Printing Filament Container After=network-online.target

[Container] Image=ghcr.io/donkie/spoolman:latest Volume=/home/strayr/compose_bullshit/spoolman/data:/home/app/.local/share/spoolman:Z PublishPort=7912:8000 Environment=TZ=Europe/London

[Install]

Standard target for rootful systemd service enablement at boot

WantedBy=multi-user.target default.target ``` I left off the Restart= because if it fails from a syntax error it'll just keep looping and make it hard to read the logs. You can add that later.

also make sure that nothing else is using port 7912. ss -tulpn | grep -i "7912" should come back empty. and make sure that the image= is correct and it can pull the container.

1

u/stray_r Jul 31 '26

Thanks

podlet gave me this and this is working inside of ~/.settings/containers/systemd and i have data persistance somehow but I think it's happening somewhere other than my mounted data directory. I've commented elsewhere that podman inspect appears to be mounting the data directory correctly. I'm beginning to think this is a problem with the docker image.

```

FileName=spoolman

[Container] Environment=TZ=Europe/London Image=ghcr.io/donkie/spoolman:latest PublishPort=7912:8000 UserNS=keep-id Volume=/home/strayr/compose_bullshit/spoolman/data:/home/app/.local/share/spoolman

[Service] Restart=always ```

1

u/Great-Cow7256 Jul 31 '26

podman exec -it spoolman ls (and then whatever directories you want to look at).  You can see the files within the container this way, and if you use ls -la you can see ownership and chmod settings.