What to people use and recommend for this? I’ve read a bit about portainer, but I’m still learning - and don’t know what the best solutions are.

Today I have a handful of selfhosted services running on my home machine - mostly installed directly, but a couple running as docker containers. As the scale of my selfhosting has grown, I’ve realized that things would be a lot easier to manage if each service was run as its own container, so that installed services are isolated.

The solution I’m looking for would make it easy (possibly a web UI) for me to monitor, modify, update, and remove containerized services, including networking and storage.

Edit: Also I would only want a FOSS solution.

  • Joker@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    ·
    18 days ago

    I personally like dockge, it’s simple and lightweight and I like the fact that the webui has a good phone interface.

    • nosuchanon@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      18 days ago

      Dockhe is awesome. You can edit the docker-compose files from its interface and it makes managing containers very easy.

  • talkingpumpkin@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    18 days ago

    In your shoes (and, in fact, in mine) I’d try to move away from interactive tools and into file-driven ones.

    Personally I use nixos, run WUD (what’s up docker) to be notified of available updates, and manually test/update the containers once in a while (every couple weeks or so?)

    There are a bazillion other solutions (from stuff like ansible/chef/puppet, to docker-compose, to kubernetes, to… a hand-written bash script) - the idea is to setup stuff via files that you can version, reference and write comments in rather than using some gui for interactive steps that you’ll forget to document in some wiki.

    Monitoring is a whole different beast than configuring: you’ll be probably better off using something that does just that instead of some all-in-one solution. Try looking into something like beszel before going for the full prometheus/graphana stack.

  • GunnarGrop@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    18 days ago

    I’d absolutely recommend Kubernetes (k3s/rke2) or podman quadlets. Quadlets are a lot easier to get started with, but are still very flexible.

    I’d recommend against using portainer. I tried it quite recently and I did not like it at all. A lot of features are paywalled, and was overall just a frustrating experience. I’ve heard it was a lot better some years ago.

  • jimmy90@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    18 days ago

    try NixOS

    all your containers and other services will be managed through one re-usable file

    if your server is >= 8GB then proxmox gives a nice interface builtin. i use it to make nixos lxc containers in which i run my containers. which does actually make sense

      • talkingpumpkin@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        18 days ago

        you will have to spend a lot of time learning the Nix language

        I’d say you shouldn’t use any system (be it nixos, ansible or even bash scripts) if you are not willing to learn it.

        That said, I too find pre-made modules less useful that I initially thought when I got into nixos: unless you want to do very basic stuff, a lot of times it’s easier to just generate whatever scripts/configuration files you need directly (using one of the trivial builders in lib or writing a custom derivation) rather than learning how the corresponding nixos module works.

        One could say nixos modules make easy things slightly easier, and hard things much harder (this is adapted - possibly imprecisely - from a quote on ORMs, I think by Joel Spolsky).

  • Daniel Quinn@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    18 days ago

    Kubernetes. For a homelab, the stripped-down k3s is fantastic and surprisingly easy to get going.

    Once you’ve got Kubernetes set up, you can lean on all the many tools already out there for things like deploying complex projects (Helm) and monitoring (Prometheus/Grafana). OpenLens is a nice piece of software you can use to monitor and control your cluster too, as is k9s.

    • thejml@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      18 days ago

      This is how I went and what I’d recommend. But that said, it’s a bit of a steep learning curve as not everything in the self hosted/home lab community comes with helm charts.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    18 days ago

    I’ve read a bit about portainer, but I’m still learning

    I started with Portainer, and I still use it. It checks all the boxes for me. I would be remiss if I didn’t mention there are other such platforms to manage Docker containers with such as Podman, Dockage, etc. Like I said, I started with Portainer, and I know how to drive that bus, so I stuck with it.

  • gedaliyah@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    18 days ago

    I was using CLI exclusively for a year or so, but recently added DockMon and it’s helped with updates and at-a-glance management.