Podman, rootless containers work well, and there is no central process running everything. I like that starting containers on boot is integrated with systemd.
How do you automatically start podman containers? I currently just manually add systemd entries but that’s a lot more cumbersome than Docker which doesn’t require you to do anything at all.
I use Quadlet, which is now merged in podman. The only issue I had with it is running system systemd services as other (rootless) users, I can't get it to create cid files that the users can access. In those cases only, I have to modify the generated services files, which defeats the purpose.
That's how you do it, you have to write systemd config files for each container. And because it was cumbersome they've come up with third party tools that write them for you and launch the container. 😉
Since I use Docker Compose with Podman, I just make a single systemd service to run Docker Compose on boot, thereby starting all my containers at once.
I have one Compose file per stack, which is an application and all of its containers, databases, etc. Pretty much the same way I organized things with just Docker.
Podman supports docker compose just fine. You have to run it as a service, so that it can expose a socket like docker does, but it supports doing exactly that
Check my comment history for an example of a simple bind mount compose.yaml I use for developing a small Python project. It's exactly the same as Docker Compose (since Podman Compose follows the Compose spec) but if you're just getting started, it might be a good skeleton to build on.