Managing a network of Linux servers used to require using a terminal emulator to ssh into each of your servers. To update a local firewall rule, system administrators had to learn arcane iptables commands to add the right incoming and outgoing ports. To add a new local user required running useradd with the necessary options. And to check free space on the local filesystems, Linux administrators likely ran df and du commands on each storage system.

Linux server administration would be much easier with a point-and-click interface that did all the hard work for you behind the scenes, so you could focus on your job: managing servers. That’s where Cockpit comes in.

Cockpit provides a web-based dashboard so you can monitor and update your Linux systems. I find with Cockpit, remote server management is a breeze. Let’s take a look at what Cockpit has to offer:

To access Cockpit on your server, point your web browser to your server’s IP address on port 9090. For the Raspberry Pi mini-server I run at home, that’s . But your network will likely be different; use your Linux server’s hostname or IP address in your web browser’s URL line, and add :9090 to connect to port 9090. Login with the root username and password for that server.

image of Cockpit login
Log in to Cockpit using your local username and password.

After you’ve logged in, Cockpit displays a system overview screen. This lets you check your server status at a glance: CPU and memory usage, server information, configuration overview, and overall server health. You can see on my Linux system that things are running fine, but I have a few new patches to install.

The system overview also makes it easy to shutdown or reboot the server, such as for system maintenance. The overview also provides a great jumping-off point for more complex tasks. If you need to join your server to a domain, or need more details, you can click the blue links.

image of Cockpit overview
Cockpit shows your system status at a glance.

The left side of the Cockpit dashboard shows a navigation menu. Click each one to check logs, storage, and networking, to update accounts, to stop and start services, or to apply updates.

Checking logs is straightforward in the “Logs” tab. No more wading through your /var/log directory, trying to spot errors or warnings. Cockpit shows the log entries with a helpful icon to indicate errors or warnings. Click on the menus at the top of the screen to filter logs by time, priority, or identifier. The default shows everything at “Error” and above.

If you need more information about a particular log message, you can click it for details. For example, I run my Raspberry Pi as a print server, and the logs showed that my printer was turned off when I was trying to print.

image of Cockpit logs
Cockpit makes it easy to view logs. This shows when my printer was turned off when I was trying to print.

The “Storage” tab presents your filesystems and storage I/O at a glance. You can also add other storage, including remote NFS filesystems, from this panel.

My Raspberry Pi server has an internal micro SD card for its main storage, and a USB fob drive mounted at /backup  so I can make backups. On the “Storage” tab, I can quickly see my disk usage to verify my backup filesystem is about half full, and my main storage is mostly empty.

image of Cockpit storage view
With Cockpit, you can view the status of all your storage.

The “Networking” tab lets me check the network on one screen. My Raspberry Pi runs only on my wireless network at home, so only my wlan0 network device shows any traffic.

image of Cockpit network view
Cockpit shows your network usage in a handy chart.

Managing your firewall is also much simpler. Click the “Edit rules and zones” button to enter a panel that lets you add or remove services from the firewall. No more debugging a list of iptables commands to update your firewall rules, now adding and removing services from the firewall is just clicking a button and scrolling through a list of services. Tick the box next to the services, you want to add, and click the “Add services” button.

image of Cockpit firewall tab
To add a new service to your firewall, just select the service in Cockpit.

If you need to manage local accounts, you can do that from the “Accounts” tab. You can quickly create new users with the “Create new account” button, or click on a username to edit the account details. You can even add and remove SSH keys to support passwordless login.

image of Cockpit account view
Manage local accounts easily with Cockpit.

The “Services” tab lets you start and stop services. Click on each service, and you’ll find a toggle to enable or disable a service at boot-time, or to immediately reload, restart, or stop a service that is already running.

image of Cockpit services view
Start, stop, enable, and disable services using Cockpit.

My Raspberry Pi is a scratch server on my private home network, but it’s still important to keep it updated with the latest patches. When you’re managing your server with Cockpit, you may notice an alert icon next to the “Software Updates” tab. That lets you know your system needs to be updated. You can choose to update everything by clicking the “Install all patches” button, or only install the most critical patches by clicking the “Install security updates” button.

image of Cockpit software updates
Install updates through Cockpit at the touch of a button.

And despite all that Cockpit has to offer, if you must do something manually on the server, you can click into the “Terminal” tab to bring up an interactive shell. This is convenient if you need to do something on the command line, including editing configuration files or running scripts.

The default terminal view is white-on-black text, with the “Black” color profile. You can change the colors to your preferences using the “Appearance” menu, to set the colors to white text on a dark blue background (“Dark”) or black text on an off-white background (“Light”) or plain black-on-white text (“White”).

image of Cockpit terminal view
Need to login as root? Cockpit provides a web-based terminal.

Using Cockpit makes server management a breeze. I find that Cockpit helps to automate the routine stuff, and makes the hard stuff easier to do. The interface is simple yet powerful, and the interaction feels intuitive. Install Cockpit on your server, and streamline your system administration workflow.

Profile Photo for Jim Hall Jim Hall
Jim Hall is an innovative, high-achieving Senior IT Leader with over 25 years' experience in Linux, open source, and IT Leadership. He has contributed to dozens of open source projects as developer or maintainer, including FreeDOS and GNOME. Jim is also CEO at Hallmentum, where he empowers IT Leaders to drive meaningful change through hands-on training, workshops, and coaching.
Read Full Bio »