Cockpit is a web-based graphical interface for servers, intended for everyone, especially those who are:
- new to Linux (including Windows admins)
- familiar with Linux and want an easy, graphical way to administer servers
- expert admins who mainly use other tools but want an overview on individual systems
Thanks to Cockpit intentionally using system APIs and commands, a whole team of admins can manage a system in the way they prefer, including the command line and utilities right alongside Cockpit.
Take a look
A picture is worth a thousand words. Click a thumbnail to see screenshots of Cockpit in action.
Simple to use
Cockpit makes Linux discoverable. You don’t have to remember commands at a command-line.
See your server in a web browser and perform system tasks with a mouse. It’s easy to start containers, administer storage, configure networks, and inspect logs. Basically, you can think of Cockpit like a graphical “desktop interface”, but for individual servers.
Compatible with your existing workflows
Have a favorite app or command line tool that you use on your servers? Keep using the command line, Ansible, and your other favorite tools and add Cockpit to the mix with no issues.
Cockpit uses the same system tooling you would use from the command line. You can switch back and forth between Cockpit and whatever else you like. Cockpit even has a built-in terminal, which is useful when you connect from a non-Linux device.
Cockpit uses APIs that already exist on the system. It doesn’t reinvent subsystems or add a layer of its own tooling.
By default, Cockpit uses your system’s normal user logins and privileges. Network-wide logins are also supported through single-sign-on and other authentication techniques.
Cockpit itself doesn’t eat resources or even run in the background when you’re not using it. It runs on demand, thanks to systemd socket activation.
Cockpit also supports a large list of optional and third-party applications.
Here’s a subset of tasks you can perform on each host running Cockpit:
- Inspect and change network settings
- Configure a firewall
- Manage storage (including RAID and LUKS partitions)
- Create and manage virtual machines
- Download and run containers
- Browse and search system logs
- Inspect a system’s hardware
- Upgrade software
- Keep tabs on performance
- Manage user accounts
- Inspect and interact with systemd-based services
- Use a terminal on a remote server in your local web browser
- Switch between multiple Cockpit servers
- Extend Cockpit’s functionality by installing a growing list of apps and add-ons
- Write your own custom modules to make Cockpit do anything you want
Also troubleshoot and fix pesky problems with ease:
- Diagnose network issues
- Spot and react to misbehaving virtual machines
- Examine SELinux logs and fix common violations in a click
- Inspect detailed metrics that correlate CPU load, memory usage, network activity, and storage performance with the system’s journal
More features appear in Cockpit every release.
Designed & tested
Cockpit’s design keeps your goals in mind. We test Cockpit with usability studies to make it work the way you’d expect and adjust accordingly. As a result, Cockpit gets easier to use all the time.
All code changes have tests which must pass before merging, to ensure stability.
Free & free
Cockpit is free to use and available under the GNU LGPL.
Cockpit works (nearly) everywhere
You can install Cockpit on the major distributions, including:
Once Cockpit is up and running, you can access systems from all major web browsers on any operating system (including Windows, MacOS, and Android).
Cockpit has a time-based release cadence, with new versions appearing every two weeks.
After installing and enabling Cockpit, visit port 9090 on your server (for example: https://localhost:9090/ in a browser on the same machine as Cockpit).