Cockpit is a web-based graphical interface for servers, and comes with native support for podman.
Installing Cockpit
Have a look at pkgs.org to find the right package names for your Linux distribution.
For Arch Linux, I installed Cockpit by running:
Once installed, make Cockpit to start automatically on each reboot:
Notice the “.socket” extension, as it is not a traditional “.service” unit.
Now you can access the server web interface on port 9090 and login with your Linux username and password:
Terminal via web
My favorite Cockpit feature is by far terminal access via web. It makes very handy to run commands without installing a SSH client on the current device. This section can be accessed from the “Terminal” tab
The Cockpit terminal does not rely on sshd
, so it can grant remote access even in rare case of OpenSSH bugs:
In this situation, it was enough to run sudo systemctl restart sshd
from the Cockpit terminal to make remote SSH access work again.
One-click updates
Cockpit can also be used to update system packages with one click. Under the hood, it will run your package manager (e.g. apt
or pacman
):
Beware because you could miss important notifications, e.g. breaking changes or need for manual intervention.
For Arch Linux users, this will not update your AUR packages, so you still need to run yay -Syu
from terminal.
Monitor running containers
If you are running Podman containers, try to login into Cockpit with the user running them. You will see resource usage, health status and pod grouping:
You can also see logs from each container and run command from their shell, directly from this page.
Security implications
Cockpit is handy, but it should not be exposed to the world: an attacker just needs to guess the root password to own your system.
It’s best to limit access with a firewall, by restricting access to just LAN, VPN, or specific clients.