EDIT: For some context, I recently gave podman another go. I have a few services on my homelab server set up in docker containers, so I tried migrating to podman.

After the second major bug (open issue on github) I encountered looked like it would require completely dropping using compose files to work around, I gave up and went back to docker.

I like the idea of podman, but it’s just not stable. I’ll try again in a year or so.

As a bonus, docker’s CLI is significantly nicer.

  • Voytrekk@sopuli.xyz
    link
    fedilink
    arrow-up
    65
    ·
    2 days ago

    It also can integrate with Systemd via Quadlets. Let’s you control containers as a sytemd service. I personally use them for my home server and have been happy with it.

    • ArchAengelus@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      24
      arrow-down
      2
      ·
      edit-2
      2 days ago

      The learning curve for quadlets is quite harsh in my opinion. I started with podman compose 3 years ago for my homelab, because it allowed user containers.

      I tried to migrate to quadlets unsuccessfully, several times over the years. it was only recently that my self-hosted Qwen was capable enough to figure out where I was messing up and automate the process a bit.

      I probably wasn’t sufficiently motivated. It felt like podman compose is basically docker compose, but quadlets are a quite a bit different in form and function, so I was never able to grok them:

      • Voytrekk@sopuli.xyz
        link
        fedilink
        arrow-up
        22
        arrow-down
        1
        ·
        2 days ago

        There is a tool named Podlet that can help translate to quadlets. I was able to fully translate my unraid and compose setups to quadlets.

          • Voytrekk@sopuli.xyz
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            I migrated from docker containers on Unraid to using quadlets on RockyLinux. The Podlet utility helped a bit with taking an existing docker container and converting it to a quadlet. Also did thorough testing in a VM before swapping my server.

            • pjusk@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              20 hours ago

              Interesting, just migrated away from Unraid myself. But chose Proxmox -> Debian -> Podman Containers instead. Any reason in particular you chose Rocky?

              • Voytrekk@sopuli.xyz
                link
                fedilink
                arrow-up
                1
                ·
                15 hours ago

                The security of Rocky is solid and RL 10 is supported for quite a long time. I’m also used to RHEL based systems at work, as we target Red Hat.

                That being said, I wouldn’t recommend it for most people. SELinux can be annoying to deal with and can cause issues where it isn’t obvious that SELinux is the cause.

                If I were to chose again, I would probably just pick Debian as most of my workloads are just running in containers or VMs. The only services running on the host are NFS and Samba.

        • hirihit640@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          I remember trying it and my compose files blew up to multiple Quadlet files with a much larger total size (lines of code). I find that compose is just more concise and structured compared to Quadlets.

          • Voytrekk@sopuli.xyz
            link
            fedilink
            arrow-up
            5
            ·
            2 days ago

            It does have a larger file size compared to compose, sure. The big advantage of quadlets is that systemd will handle things in the event of a failure. It makes it a great option for production environments where you will not need to update your config files as much. It also allows you to have more control over when each application starts, if they rely on a specific disk mount or service running on the system. I’m sure someone else can provide more benefits who use them in a production environment.

            • hirihit640@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              Fair enough. My requirements are simply: start all services when the machine has finished booting. And I can’t remember the last time my system failed. Most that happened was a power outage, and Quadlets wouldn’t have helped there either.

              So in my case I much prefer simple and easy-to-read configs, over the complexity of integrating with systemd.

              • Voytrekk@sopuli.xyz
                link
                fedilink
                arrow-up
                1
                ·
                15 hours ago

                Docker compose definitely works for most people, so I would feel pressured to swap.

                There is one instance where Quadlets would have fixed an issue we ran into at work. We had a Kafka instance whose container died and went away because we ran out of space on the server. Compose doesn’t recreate containers on failure, so I was called in to fix the issue. Quadlets treats containers as disposable, so it would have recreated it as soon as it went away. The root of the issue was a bad logging config that we fixed on the next business day.

                • hirihit640@sh.itjust.works
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  14 hours ago

                  Compose doesn’t recreate containers on failure

                  Isn’t it just restart: always in the config? Unless you’re talking about podman, where you also need the podman-restart systemd service.

                  • Voytrekk@sopuli.xyz
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    3 hours ago

                    You are correct that they restart a container that has stopped because of a bad exit. I meant a container that has completely disappeared due to running out of storage on the system. Given, that is a failure of configuration to begin with.