I’ve been messing around with podman in Arch and porting my self-hosted services over to it. However, it’s been finicky and I am wondering if anybody here could help me out with a few things.

  1. Some of my containers aren’t getting properly started up by podman-restart.service on system reboot. I realized they were the ones that depended on my slow external BTRFS drive. Currently its mounted with x-systemd.automount,x-systemd.device-timeout=5 so that it doesn’t hang up the boot if I disconnect it, but it seems like Podman doesn’t like this. If I remove the systemd options the containers properly boot up automatically, but I risk boot hangs if the drive ever gets disconnected from my system. I have already tried x-systemd.before=podman-restart.service and x-systemd.required-by=podman-restart.service, and even tried increasing the device-timeout to no avail.

When it attempts to start the container, I see this in journalctl:

Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Got automount request for /external, triggered by 3130 (3)
Aug 27 21:15:46 arch-nas systemd[1]: external.automount: Automount point already active?
Aug 27 21:15:46 arch-nas systemd[1]: libpod-742b4595dbb1ce604440d8c867e72864d5d4ce1f2517ed111fa849e59a608869.scope: Deactivated successfully.
Aug 27 21:15:46 arch-nas conmon[3124]: conmon 742b4595dbb1ce604440 : runtime stderr: error stat'ing file `/external/share`: Too many levels of symbolic links
Aug 27 21:15:46 arch-nas conmon[3124]: conmon 742b4595dbb1ce604440 : Failed to create container: exit status 1
  1. When I shutdown my system, it has to wait for 90 seconds for libcrun and libpod-conmon-.scope to timeout. Any idea what’s causing this? This delay gets pretty annoying especially on an Arch system since I am constantly restarting due to updates.

All the containers are started using docker-compose with podman-docker if that’s relevant.

Any help appreciated!

EDIT: So it seems like podman really doesn’t like systemd automount. Switching to nofail, x-systemd.before=podman-restart.service seems like a decent workaround if anyone’s interested.

    • Static_Rocket@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I just wish podman-compose wasn’t so scuffed. I submitted a PR about some garbage months ago and it just seems dead.

      • Molecular0079@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        What happens if you use regular docker-compose but with podman-docker? I’ve gotten better results with that.

        • Static_Rocket@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          It just bothers me that I have to use a tool outside of the ecosystem for that. Doesn’t it also behave differently though? Like doesn’t it assume everything is root when you use the socket required for docker-compose?

          • Molecular0079@lemmy.worldOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Yes, I think it does, but thats how docker-compose works with docker anyways so it’s a closer experience. I think if you’re using docker-compose files you sorta want that docker-like experience no?

            I get where you’re coming from though. It would be nice to run docker-compose files completely rootless with podman-compose.

            • Static_Rocket@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              Eh, I don’t mind learning a new config if the tool requires it. I just want to define run commands in yaml and have it auto generate pods and startup scripts.

      • letbelight@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        You need to mention muayyad-alsadi, because the only one who maintain it now seems only him. Just keep mentioning, and he will review the PR.

      • Drew
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        You’re supposed to use podman kube play instead of that