I often see people mention the Portainer project and how it’s useful, but I never hear any reason to use it other than as a more user friendly front end to service management.

So is there any particular feature or reason to use portainer over docker’s CLI? Or is it simply a method of convenience?

This isn’t only strictly for self hosting, but I figure people here would know better.

  • Voroxpete@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    75
    arrow-down
    6
    ·
    edit-2
    1 month ago

    Please don’t use Portainer.

    • It kidnaps your compose files and stores them all in its own grubby little lair
    • It makes it basically impossible to interact with docker from the command line once it has its claws into your setup
    • It treats console output - like error messages - as an annoyance, showing a brief snippet on the screen for 0.3 seconds before throwing the whole message in the shredder.

    If you want a GUI, Dockge is fantastic. It plays nice with your existing setup, it does a much better job of actually helping out when you’ve screwed up your compose file, it converts run commands to compose files for you, and it gets the fuck out of the way when you decide to ignore it and use the command line anyway, because it respects your choices and understands that it’s here to help your workflow, not to direct your workflow.

    Edit to add: A great partner for Dockge is Dozzle, which gives you a nice unified view for logs and performance data for your stacks.

    I also want to note that both Dockge and Dozzle are primarily designed for homelab environments and home users. If we’re talking professional, large scale usage, especially docker swarms and the like, you really need to get comfortable with the CLI. If you absolutely must have a GUI in an environment like that, Portainer is your only option, but it’s still not one I can recommend.

    • ikidd@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 month ago

      As another commenter mentioned, Lazydocker combines Dockge and Dozzle features, and adds some other things to give you a TUI environment that works over SSH so you don’t have to open a web port to use it.

    • heyixen815@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      1 month ago

      You can just connect a (local) Git repo to it and store your compose files over there. There should be even an auto-sync (if you’re into that kind of thing).

      • Voroxpete@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        3
        ·
        1 month ago

        Not the point. If you want to interact with the compose files directly through the command line they’re all squirelled away in a deep nest of folders, and Portainer throws a hissy fit when you touch them. Dockge has no such issues, it’s quite happy for you to switch back and forth between command line and GUI interaction as you see fit.

        It’s both intensely frustrating whenever it comes up as an issue directly, and speaks to a problem with Portainer’s underlying philosophy.

        Dockge was built as a tool to help you; it understands that it’s role is to be useful, and to get the fuck out of the way when its not being useful.

        Portainer was built as a product. It wants to take over your entire environment and make you completely dependent on it. It never wants you to interact with your stacks through any other means and it gets very upset if you do.

        I used Portainer for years, both in my homelab and in production environments. Trust me, I’ve tried to work around its shortcomings, but there’s no good solution to a program like Portainer other than not using it.

    • Wolfram@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      I’ve never used Portainer but I feel a GUI setup like it just abstracts Docker and prevents learning concepts that are conducive to understanding Docker. That’s why I’ve never used a GUI to manage my Docker environment.

      • Voroxpete@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 month ago

        I don’t think there’s anything inherently wrong with the idea of using a GUI, especially for a non-professional who mostly just wants to get into self-hosting. Not everyone has to learn all the ins and outs of every piece of software they run. My sister is one of the least technical people in the world, and she has her own Jellyfin server. It’s not a bad thing that this stuff has become more accessible, and we should encourage that accessibility.

        If, however, you intend to use these tools in a professional environment, then you definitely need to understand what’s happening under the hood and at least be comfortable working in the command line when necessary. I work with Docker professionally, and Dockge is my go to interface, but I can happily maintain any of my systems with nothing but an SSH connection when required. What I love about Dockge is that it makes this parallel approach possible. The reason I moved my organization away from Portainer is precisely because a lot of more advanced command line interactions would outright break the Portainer setup if attempted, whereas Dockge had no such problems.

        • Wolfram@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 month ago

          Totally, I get it if its a means to an end to get something like Jellyfin up.

          Maybe its a me thing. I just like to understand the mechanics of the tools I use.

    • 𝓢𝓮𝓮𝓙𝓪𝔂𝓔𝓶𝓶@lemmy.procrastinati.org
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      3
      ·
      1 month ago

      Just because something doesn’t fit your use case doesn’t make it a terrible product. Portainer isn’t meant to complement managing docker via CLI. It’s meant to be the management interface.

      If you want to manage your environment via CLI, I agree, don’t use Portainer. If you’re content (or prefer) a GUI, Portainer is a solid option. Esp if you have multiple hosts or want to manage more than just the compose stack. Last time I checked Dockge doesn’t do either.

      • ShortN0te@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        3
        ·
        1 month ago

        The thing is, those poor design decisions have nothing to do with those features, i claim that every feature could be implemented without “holding the compose files hostage”.

        Btw. dockge does support connecting to another docker dockge instance.

        • Voroxpete@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          1 month ago

          The thing is, those poor design decisions have nothing to do with those features, i claim that every feature could be implemented without “holding the compose files hostage”.

          Yes, this is exactly my point. I think I’ve laid out very clearly how Portainer’s shortcomings are far more than just “It’s not for your use case.”

          Portainer is designed, from the ground up to trap you in an ecosystem. The choices they made aren’t because it’s necessary to do those things that way in order to be a usable Docker GUI. It’s solely because they do not want you to be able to easily move away from their platform once you’re on it.