First look at cockpit, a web based server management interface [Update]

TuxOnly recently the Cockpit project was launched, aiming at providing a web based management interface for various servers. It already leaves an interesting impression for simple management tasks – and the design is actually well done.

I just recently came across the only three month old Cockpit project. The mission statement is clear:

Cockpit is a server manager that makes it easy to administer your GNU/Linux servers via a web browser.

The web page also states three aims: beginners friendly interface, multi server management – and that there should be no interference in mixed usage of web interface and shell. Especially the last point caught my attention: many other web based solutions introduce their own magic, thus making it sometimes tricky to co-administrate the system manually via the shell. The listed objectives also make clear that cockpit does not try to replace tools that go much deeper into the configuration of servers, like Webmin, which for example offers modules to configure Apache servers in a quite detailed manner. Cockpit tries to simply administrate the server, not the applications. I must admit that I would always do such a application configuration manually anyway…

The installation of Cockpit is a bit bumpy: besides the requirement of tools like systemd which limits the usage to only very recent distributions (excluding Ubuntu, I guess) there are no packages yet, some manual steps are required. A post at unshut.me highlights the necessary steps for Fedora which I followed: in includes installing dependencies, setting firewall rules, etc. – and in the end it just works. But please note, in case you wanna give it a try: it is not ready for production. Not at all. Use virtual machines!

What I did see after the installation was actually rather appealing: a clean, yet modern web interface offering the most important and simple tasks a sysadmin might need in a daily routine: quickly showing the current health state, providing logs, starting and stopping services, creating new users, switching between servers, etc. And: there is even a working rescue console!

And where ever you click you see quickly what the foundation for Cockpit is: systemd. The logviewer shows systemd journal logs, services are displayed as seen and managed by systemd, and so on. That is the reason why one goal – no interference between shell and web interface – can be rather easily reached: the web interface communicates with systemd, just like a administrator on such a machine would do.  <Update> Speaking about: if you want to get an idea of *how* Cockpit communicates with its components, have a look at their transport graphic. </Update> Systemd by the way also explains why Cockpit currently is developed on Fedora: it ships with fully activated systemd.

But back to Cockpit itself: Some people might note that running a web server on a machine which is not meant to provide web pages is a security issue. And they are right. Each additional service on a server is a potential threat. But also keep in mind that many simple server installations already have an additional web server for example to show Munin statistics. So as always you have to carefully balance the pros of usable system management with the cons of an additional service and a web reachable system console…

To summarize: The interface is slick and easy to use, for simple server setups it could come in handy as a server management tool for example for beginners and accessible from the internal network only. A downside currently is the already mentioned limit to the distributions: as far as I got it, only Fedora 18 and 20 are supported yet. But the project has just begun, and will most certainly pick up more support in the near future, as long as the foundations (systemd) are properly supported in the distribution of your choice. And in the meantime Cockpit might be an extra bonus for people testing the coming Fedora Server. 😉

Last but not least, in case you wonder how server management looks like with systemd, Cockpit can give you a first impression: it uses systemd and almost nothing else for exactly that.

28 thoughts on “First look at cockpit, a web based server management interface [Update]”

    1. Yes and know. Webmin tries to help you actually configuring your services. Cockpit does not want to deal with the service configuration but just with the service state. Additionally, Webmin does try various system tasks the best it can – which is not always a good, comparable and reliable way. Cockpit does its things reliable – since systemd simply offers a possibility, or not.

      Thus I would say Webmin tries to solve other problems: service configuration, and system management no matter what the foundation is. Cockpit only offers system management, and only systemd based.

    2. OK… thanks for the explaination.

      At work we are switching to Ubuntu LTS systems, because 99,99% of the free bioinformatics software is realized on that OS.

      So I’m moving away from Fedora/CentOS and re-learning new tricks and tools…

    3. Hm, that makes me wonder which tools will “win” in the end: systemd, Wayland vs upstart, Mir….
      And speaking about Ubuntu: while I personally still use Fedora and CentOS, my daily work is all about Debian. Currently the differences are not *that* big I think…

    1. Hej Stephen, thanks for pointing that out, I wasn’t aware. Would have saved me some trouble installing it 😉
      I’m looking forward to when more packages arrive at various distributions =)

    1. Not so far – from what I read the scope of it differs from the one of Cockpit. Looks to me that Cockpit much more aims at what webmin does: managing the actual services as well.
      Cockpit is (currently) limited to managing the server, not the services themselves =)

  1. Great article, let’s hope it reaches a production level in the near future and also to be included in the software repositories

    Great job as usual !

    Oscar

    1. Oscar, thanks for the compliments. Please note that Cockpit is indeed already included in Fedora’s updates-testing repository, so it getting easier to give it a try.

  2. I am sure there is room for this tool in the market and am looking forward to its continued production. Cockpit will surely fit into someone’s missing business management application and would great used alongside other existing systems. The nice design is a plus. Great post.

    1. I’d say the scope is different: it is not all about monitoring, but about restarting services and getting emergency remote access. Health statistics are just a nice add-on.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.