I’m moving to a new machine soon and want to re-evaluate some security practices while I’m doing it. My current server is debian with all apps containerized in docker with root. I’d like to harden some stuff, especially vaultwarden but I’m concerned about transitioning to podman while using complex docker setups like nextcloud-aio. Do you have experience hardening your containers by switching? Is it worth it? How long is a piece of string?

  • asap@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    27 days ago

    I switched and was very glad to do so. You increase your security and so far I haven’t seen any downside. Every container I’ve tried has worked without issues, even complex ones.

    • ilmagico@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      27 days ago

      Was this with podman or rootless docker?

      I also would like to switch to rootless, I have some experience with podman and, while I generally like it, it’s not 100% compatible with (rootful) docker, and can have performance issues if you’re not careful, especiallt with certain file systems like btrfs. I wonder if rootless docker is now better than podman, or preferred for some other reason.

      • asap@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        edit-2
        27 days ago

        Rootless Podman :) It requires you to learn a little bit of new syntax, for example, the way you mount volumes and pass environment variables can be slightly different, but there’s nothing that hasn’t worked for me.

        I’m using this on uBlue uCore, which I would also strongly recommend for security reasons.

        • bigdickdonkey@lemmy.caOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          27 days ago

          Can you expand on why you chose uCore? I was considering CoreOS until just now and the idea of setting up ignition config serving seems overkill for running only one server at home. ignition is still required the same way as CoreOS

          • asap@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            27 days ago

            Mainly for security. I was originally looking at CoreOS but I liked the additional improvements by the UBlue team. Since I only want it to run containers, it is a huge security benefit to be immutable and designed specifically for that workflow.

            The Ignition file is super easy to do, even for just one server (substitute docker for podman depending which you have):

            Take a copy of the UCore butane file:

            https://github.com/ublue-os/ucore/blob/main/examples/ucore-autorebase.butane

            Update it with your SSH public key and a password hash by using this command:

            # Get a password hash
            podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
            

            Then host the butane file in a temporary local webserver:

            # Convert Butane file to Ignition file
            podman run -i --rm quay.io/coreos/butane:release --pretty --strict < ucore-autorebase.butane > ignition.ign
            
            # Serve the Igition file using a temp webserver
            podman run -p 5080:80 -v "$PWD":/var/www/html php:7.2-apache
            

            During UCore setup, type in the address of the hosted file, e.g. http://your_ip_addr:5080/ignition.ign

            That’s it - UCore configures everything else during setup.___