I just start using my homelab to host some new good services, and I want to know what is the approach of a docker setup, what is the best distro for? How to deploy them correctly? Basically I’m a real noob in this subject. Thank you

  • @ikidd
    link
    English
    13
    edit-2
    3 months ago

    Debian with the docker convenience script. Stay away from Ubuntu server, for the love of dog.

    Make a folder such as /stacks and put everything there by building docker compose stacks. I bind mount everything local to a subfolder with the docker-compose.yml for that application so when I restore it, it’s all in one spot, not spread all over the hell like docker likes to do if you don’t use bind mounts.

    Add lazydocker for getting easy log and stats access for each stack.

    Avoid bare docker run commands. It makes an unmanageable mess when you get more that a couple containers running.

    Consider using the nextcloud AIO master container. It runs docker containers inside a master container compose file, and it is by far the easiest way to manage and run nextcloud.

    • @[email protected]
      link
      fedilink
      English
      53 months ago

      Debian with the docker convenience script.

      They seem to be moving away from this, and it’s not longer the first option on their install page

      On their debian page

      Use a convenience script. Only recommended for testing and development environments

      Also, it should be noted about the first option they recommend, Docker Desktop, that Docker Desktop is proprietary.

      I recommend just getting the docker.io and docker-compose from debian’s repositories.

      • @ikidd
        link
        English
        13 months ago

        Well, that’s a new development. That used to be the go-to method they pushed. Thanks for pointing that out.

        As for Docker Desktop being the top option, it would only be used for a “development environment” because why would you install that on a headless docker host for production? And after the horror stories I’ve heard of Windows and Mac versions of Docker Desktop, there isn’t a chance in hell I’d use it anyway.

        So yes, going forward it looks like adding the repos and apt-get install are the way to go. Except, the convenience script was so… convenient.

          • @[email protected]
            link
            fedilink
            English
            23 months ago

            With Debian not being a rolling release id think it is relevant to stay up to date with your container daemon. IMHO.

      • @ikidd
        link
        English
        03 months ago

        When I tried it last (a couple years ago), the docker snap was an untroubleshootable mess. I don’t like the idea of running Docker that way, in whatever version of a container that Canonical has come up with for snaps. It’s just looking for problems. Run an application with Snap if you want, but a whole container system? No thanks.

        • @[email protected]
          link
          fedilink
          English
          53 months ago

          I just don’t use snaps and it works great for me. For docker I add their apt repository and install it like that.

          • @ikidd
            link
            English
            13 months ago

            Well, I wasn’t using snaps and it still decided to install Docker snap on me. 2 days of troubleshooting before I figured out that the snap existed and was having a war with my apt install of docker. Never again.

            • @[email protected]
              link
              fedilink
              English
              23 months ago

              I avoid apt because it does silly stuff. Always use apt-get. I suppose having to know that quirk is a con of the distro.

        • @AustralianSimon
          link
          English
          1
          edit-2
          3 months ago

          I wrote a script to remove snaps and install Docker as per the docker website. Works great mate.

          Plus you get the benefit of frequent updates.

          • @ikidd
            link
            English
            23 months ago

            I don’t need what Ubuntu offers to run server applications, and Debian is rock solid and predictable. Might as well go to the source since it’s Debian all the way down anyway, just with added cruft.

          • @[email protected]
            link
            fedilink
            English
            13 months ago

            One of their frequent updates completely broke docker on my system. Fortunately they did push the fix by the time I realized what happened.

            • @AustralianSimon
              link
              English
              13 months ago

              Is that because you installed it via snaps instead of apt?

              • @[email protected]
                link
                fedilink
                English
                13 months ago

                It was from docker’s apt repo, so a newer version than provided through Ubuntu’s channels I assume.

                • @AustralianSimon
                  link
                  English
                  13 months ago

                  APT install is the same for Debian as it is for Ubuntu. Ubuntu delivers docker through APT or Snap but defaults snap.

    • Bakkoda
      link
      fedilink
      English
      13 months ago

      I’ve become very partial to Dozzle. I roll out right into my compose scripts and it’s incredibly lightweight.

      • @ikidd
        link
        English
        33 months ago

        I found dozzle a bit rudimentary as it only does logs, but I liked that there was an android app to interface it.

        Lazydocker is more like Portainer on running stacks in that you can see logs, configs, stats and do operations on the stacks and components all from an SSH TUI.

        • Bakkoda
          link
          fedilink
          English
          23 months ago

          I’ll have to check it out. TIL about the app.