Cockpit is a web-based graphical interface for servers

(github.com)

110 points | by modinfo 2 hours ago

27 comments

  • montroser 2 minutes ago
    Reminds me of cpanel, from the late 1900s: https://en.wikipedia.org/wiki/CPanel
  • xrd 16 minutes ago
    I have used cockpit and like it. It allows me to quickly see the entirety of my system.

    But, it doesn't offer any way to review my incus containers.

    So, I tried wolfstack, which was recently listed on HN.

    It appears it only supports lxc. I'm surprised, isn't lxc and incus more or less 1:1 synonymous (unless you get into recent more complexities)?

    I'm feeling like it is hard to find a simple GUI to just review a system and manage a bunch of containers and VMs.

    • bookwar 4 minutes ago
      We do have a cockpit-podman plugin and have added recently some features to simplify management of podman quadlets. (podman quadlets is like a systemd-friendly version of docker compose, which is a good fit for a single server use case)

      So if you get onboard with podman, you may get some benefits from the Cockpit UI for it.

      But you are right, there are many different container technologies and we haven't catched up with all of them.

  • jedberg 4 minutes ago
    Does anyone else remember when someone ported kill to the DOOM engine? So you could fire up DOOM and kill processes using different guns for different kill levels?

    I don't know why but this reminded me of that.

    • trevithick 2 minutes ago
      I need to know more about this.
  • ElijahLynn 31 minutes ago
    Would be nice if the landing page had some graphical pictures for a graphical interface...
  • dxdxdt 14 minutes ago
    The very first thing I remove when I install Fedora. It's such a bloat that only takes up space and memory for most people.
  • Tepix 5 minutes ago
    I don‘t like the whole idea because it is less secure to have a web browser instead of a standard client. Think what an attacker could do if they take control of the server.
  • Gabrys1 1 hour ago
    I tried using this to handle my 10-ish Docker containers, but I ended up using Portainer. Sure, not the same thing, but if someone (like me) thought Cockpit might be nice for managing a small Docker host, this didn't work for me
    • babaganoosh89 4 minutes ago
      What you're looking for is Dokploy. It's much better than it's predecessors like Dokku, CapRover, etc.
    • 9dev 1 hour ago
      Going for a shameless plug - I am working on an observability dashboard for Docker Swarm: https://github.com/Radiergummi/cetacean

      Also works for a single node cluster. Maybe that’s closer to what you’re looking for.

      • KronisLV 42 minutes ago
        Hey that’s pretty cool, nice to see someone paying attention to Docker Swarm (it’s nice for simple deployments, like multi-server Compose). You might want to add some screenshots to the docs though.

        There was also Swarmpit but it didn’t really get that much love, sadly: https://github.com/swarmpit/swarmpit/issues/719

        Portainer is pretty nice feature wise but even with lowered MTU I still get odd networking related issues (seems like the agent or whatever cannot reach the manager sometimes) but I’ve had those sorts of issues across multiple different clusters, both in cloud and on-prem with single leader setups and across both RPM and DEB only clusters. Weird stuff, otherwise perhaps the most established solution for Docker Swarm.

  • stego-tech 2 hours ago
    I've used this before in the early days of my Linux SysAdmin work, especially in the homelab.

    It's pretty solid, but the limited amount of projects and lack of visibility into the CLI it uses on the backend hinder the ability to translate sysadmin work into tangible Linux skills, so I dumped it at home in favor of straight SSH sessions and some TUI stuff.

    That said, if I gotta babysit Linux in an Enterprise without something like Centrify? Yeah, Cockpit is a solid, user-friendly abstraction layer, especially for WinFolks.

    • hosh 54 minutes ago
      Part of the technical assessment I have for hiring new platform engineers involves troubleshooting a service hosted in a headless Linux vm.

      Troubleshooting and fluency on the command line are among what I consider core skills. Being able to dig through abstraction layers is not just essential for when things go wrong, they are essential for building infrastructure, and really tells you whether an architecture is fit for purpose.

      • DrewADesign 27 minutes ago
        Sure... but, I’ve got decades of experience doing that stuff, just not frequently enough to keep it in my head, these days. I usually want a small project server to just do shit and the less there is between that and booting up a fresh Linux install, the better. For example, I don’t keep firewall command line syntax in my head, but I know what needs to be done, and I always seem to need it with small home projects. I lose nothing by having a trustworthy gui do it. I’d give this a shot. I doubt I’d use it in a professional environment, but that’s not really my use case these days.
        • hosh 8 minutes ago
          Which goes to show, experience and maturity changes how people use tools. The person I was responding to was at an earlier maturity stage and realized it was hampering their growth

          I am more of a TUI person anyways. I have never found web based server management to be as responsive as TUI, same reason I prefer direct attaching than live tailing on a web tool.

          I configure my router through a web interface and not the command line either. It isn’t something I want to mess with on my downtime.

      • dice 37 minutes ago
        One of my favorite interview questions: "Here are some SSH credentials. What does this system do?"

        Sometimes there aren't any docs. Sometimes the docs are wrong. It's important to be able to establish what the actual running situation is.

  • TimTheTinker 52 minutes ago
    I used Webmin[0] back in the day, I wonder how more recent server web UIs like Cockpit stack up.

    [0] https://webmin.com/

    • whalesalad 44 minutes ago
      It's neutered and not as full featured, but not bad in a pinch. All of these web admin tools are hacks that call out to shell scripts and whatnot. It requires a lot of conditional behavior and/or vertical integration. "Linux" has no consistent API for control, so its all duct tape. Webmin is the same, tbh (swap perl for whatever cockpit is written in)

      45Drives uses cockpit as the UI layer of their "Houston" operating system. https://www.45drives.com/community/articles/New-Operating-Sy...

  • samgranieri 15 minutes ago
    I use this in my homelab. I really appreciate the systemd logging functionality in Cockpit.

    It’s miles away from like Webmin, which I used god knows how long ago.

  • evanjrowley 1 hour ago
    Ripe for a supply chain attack. What safeguards do they have to protect against one?
    • cozzyd 41 minutes ago
      Well you can use it via ssh so you don't have to open it up to the Internet directly.
    • whatever1 55 minutes ago
      The same that OpenSSL had with thousands of eyeballs looking at its source code for decades.

      Aka 0. Security is a theater for the amateurs.

    • k_bx 42 minutes ago
      The worst one is password based login it enables
  • girvo 2 hours ago
    Cockpit is great! My NAS (built on a weird “N17” AMD 7840HS laptop processor put into a desktop “server”mITX motherboard by those wizards in China) stuck in a Jonsbo N2 with 5x4TB Samsung 870 evos in ZFS raidz1 is entirely managed by it

    I keep meaning to look into making plugins for it, but honestly I’ve barely needed to. Cockpit, the 45drives ZFS plugin fork, and the web terminal have been more than enough for me

    • Scene_Cast2 41 minutes ago
      Same here. Using it on two boxes, makes Linux sysadmin work easier.
  • mindwork 38 minutes ago
    I don't mind UI, but I think it's a bad approach. Instead of hiding all those complexities of the server behind UI, I would like to see each part of the application teach me how to achieve the same result in CLI. That would be useful for people to teach themselves, because UI comes and goes but basic linux commands - will stay
    • handbanana_ 37 minutes ago
      Comes and goes? Webmin would like a word
      • nativeit 0 minutes ago
        I have been using Webmin/Virtualmin for all of my 15-years as a web host. I love it, although it can be a little idiosyncratic in places, once you know how to operate with it, you won’t ever need anything else. It’s never been the most bleeding-edge or fully-featured, but it’s also never fallen behind with security and compatibility updates, and it’s had a surge in new development lately, which is exciting. On a Debian system, it’s always been rock solid for me.

        Virtualmin in particular is more targeted towards production web servers, but I think they’re both something of a happy medium between a GUI and the terminal; The interfaces are all pretty explicit about the components you’re interfacing with, and nearly all of them include the ability to pop open the conf files to edit them directly.

        The extensive UI isn’t the most flashy or polished, but it’s functional and if you get bored enough (as I did) you can theme the entire thing with a single CSS file (be prepared for a lot of ‘!important’ and other things that will drive UI/X folks nuts), and make it look rather stylish.

        The only downside (and this isn’t really a downside for production servers) is it’s opinionated on how some things “should” be configured. It’s not restrictive, per se, but it’s not very tolerant for “coloring outside the lines”. You can run an Apache or Nginx reverse proxy, but if you want to use Caddy or Traefik or something similar, this may not be the admin panel for you.

        Myself, I just run Webmin/Virtualmin on my production servers, and use a separate server for Docker and apps, where I’ve used both Cockpit and Portainer, but generally tend to stick with the CLI. The command line will always be the best, most efficient way of interfacing with Linux. Once I’d learned enough to be comfortable, I found it becomes increasingly preferable for most common tasks.

    • babypuncher 26 minutes ago
      Both can have their place. I'm pretty familiar with the podman cli, but having a dashboard I can access from a bookmark in my browser is handy when I just want a quick overview of everything.
  • bityard 2 hours ago
    I installed the latest Fedora Server on my Framework Desktop and noticed that Cockpit was enabled automatically. Overall impression is that its pretty good for getting a quick overview of things and you can certainly do _some_ administration with it, but you run into its limitations pretty fast trying to get any serious work done with it.

    It's probably great for those who are new to Linux and want that NAS-like admin web UI to get the basics set up as a stepping-stone before launching deep into the command line.

  • tombert 2 hours ago
    I used Cockpit for years after I started having issues with my network card in FreeNAS. It's generally very good, though I never really figured out how to graphically swap out a hard disk in a RAID without trashing the data (which happened once).

    I suspect that was user error on my end, so if you want a more-or-less no-nonsense way to manager a server, it's certainly worth checking out.

  • bookwar 59 minutes ago
    Question from a Cockpit PO: if you were to choose one feature to add to the project what that feature would be?
    • cprecioso 45 minutes ago
      - Easy OIDC - Generally improve the file manager addon - ncdu-like addon - interface to create simple systemd services - more visibility into which commands you can run to do the same thing
    • Scene_Cast2 43 minutes ago
      Some more love for the updates page. E.g. select a subset of updates to install, be more clear that the last update time could be different if you installed updates via CLI, that kind of thing.
    • xrd 14 minutes ago
      Incus support.
    • mgartin 46 minutes ago
      A streamlined way to control "systemctl --user ..." without needing root auth.
  • drnick1 58 minutes ago
    What is the use case for this over standard command line tools like systemctl, journalctl, top, docker ps?
    • bookwar 52 minutes ago
      The main difference of Cockpit as opposed to more old school visual server administration tools that it doesn't replace standard server management approaches with its own configuration storage in some weird database.

      Edits which you make through cockpit and edits which you make through cli are exactly the same edits in same APIs. You do not need to choose one or the over. You can switch from one to the other seamlessly on a command by command basis.

    • samgranieri 13 minutes ago
      Sometimes I like a web page to bring information to me rather than having to go on a command line use those tools to find the data I want. YMMV.
    • cozzyd 39 minutes ago
      I use it for certain use cases, where it definitely is more convenient. For example, adding a new user or adding an ssh key for a user or debugging SELinux issues.
    • teaearlgraycold 55 minutes ago
      Web UIs are nicer to deal with for simpler tasks. You can use this on your phone easily. Less technical users can be instructed on how to perform simple tasks like remotely powering off a machine.
      • drnick1 43 minutes ago
        Is the overhead of such tools, and added attack surface, justified over sshing and issuing a shutdown command though?
        • danparsonson 34 minutes ago
          What kind of attack are you anticipating? Surely only a fool or a madman would make such a thing publicly accessible.
        • cozzyd 39 minutes ago
          You can just run it via ssh anyway....
  • plasticsoprano 2 hours ago
    I tried this out about 2 months ago when setting up a new server. I wanted something simpler and less resource heavy as webmin but it was just too simple. Adding questionable, half baked add-ons to get various functions to work just didn't give me the flexibility of webmin.
  • MobileVet 14 minutes ago
    But does it work on a Gibson??
  • tryauuum 1 hour ago
    I had a bad experience with it. We hired a contractor and he

    1. insisted on a pre-war version of ubuntu

    2. insisted on the cockpit. So you no longer can modify the NFS exports over ssh, you need to connect to this HTTP abomination. Very nice. Always wanted to open more ports on my servers

    • thomond 4 minutes ago
      > 1. insisted on a pre-war version of ubuntu

      Which war?

    • teaearlgraycold 55 minutes ago
      Sounds like you had a bad experience with a contractor.
  • roscas 2 hours ago
    It is very nice. I hope more apps and options are added as it makes very simple to do some admin tasks. Want to manage services? No problem, it is very easy. Clear failed and disable? Easy. Want to see some disks and do admin operations on disks? It does. Want a simple system monitor? It tracks cpu, ram and more in a pretty interface. RHEL is dropping old interfaces like cluster management and starting to use Cockpit only. I just wish Cockpit would replace Hawk2 for cluster management as it is better then the old deprecated cluster manager web interface. But yes, install Cockpit or keep it installed ready to be use cause one day it saves the day...
  • rovr138 2 hours ago
    Interesting. This looks nice. Made me think of webmin which I used... years ago.

    Went to look and webmin's changed. Pretty crazy.

    • spogbiper 2 hours ago
      i used to set up webmin for the linux challenged admins so they could do basic tasks. it was nice because you could lock them to specific functions in certain modules and make it difficult for them to break things
      • rovr138 1 hour ago
        yeah! I had some things through there early on when I was building sites. I had some custom scripts that could also be triggered by the users.
  • NewJazz 2 hours ago
    Does this work well with fleets? I remember looking at this early on it seemed fairly single-server focused.
    • bravetraveler 1 hour ago
      It's pretty single-server focused... but there is a 'Multi Host' mode. One instance can use SSH to look at N systems [independently]. This consolidates the Cockpit endpoints you might need to use/ports to open... but doesn't give much in the way of orchestration.

      I believe when 'roscas' says this feature was dropped, they're talking about the requirement to enable 'AllowMultiHost'. As far as I know, this is still supported with some risk (according to the latest docs): https://cockpit-project.org/guide/latest/#secondary-auth

    • roscas 1 hour ago
      I think they dropped multi server managment because it was possible to add a few servers but I guess they drop that one out. You do can logon into a server right on the logon page. That is nice.
    • rwmj 1 hour ago
      Red Hat wants you to use Ansible for that.
      • esseph 39 minutes ago
        Red Hat wants you to use Satellite for that, which uses Ansible but also does other things based around package management.
  • WorldPeas 1 hour ago
    cockpit has a great virtualization interface, in my opinion this alone makes it a better "buy" than truenas for a home server.
  • grigio 1 hour ago
    Very well done. For me cockpit is more than enough a mainstream proxmox
  • jonym 1 hour ago
    the opinion you didn't ask for:

    avoid admin UIs... at best they make you lazy, at worst a security nightmare

    • krior 1 hour ago
      I just want to check from my phone how my home server is doing. Maybe someone else gets a perverse pleasure out of catting /proc/meminfo but I don't understand the need to make things more complicated than necessary.
    • dist-epoch 1 hour ago
      If you want people to self-host, this is a gateway to that.
      • razakel 30 minutes ago
        And those who are actually curious will look into what it's doing under the hood.

        Everyone has to start somewhere.

  • poppafuze 1 hour ago
    When it evolved a couple years ago to automatically set up the bridge for libvirt correctly, it had arrived. When that thing can set up pushbutton podman apps with decent net and persistence defaults it will be gold.