Replace Docker Compose with Quadlet and Systemd

  • I've done this as well and I really wouldn't recommend it, especially if you intend to use rootless podman.

    As the author notes, doing this with rootless podman is a pain in the ass. If you want the containers to start with the system, then you have to have a system target which a user service waits for. The user service then has to reference each of the container quadlets in order to start them. It's fiddly and adds new failure points.

    Even if you're not using rootless, the quadlets have to be run through a script which translates them systemd units, so it's awkward to use with declarative config management. Quadlet syntax and systemd syntax are also similar enough to be confusing at times.

    It might be fine if you're building host images (eg: immutable dev env VMs). I won't be using this in production though, whether that's at work or in the homelab.

  • if there is the need of something between docker-compose and k8, why not Docker Swarm?