Podman is the new kid on the container orchestration block. While on the surface it looks and behaves like better-established container tools like Docker, under the hood, it has some radical improvements to security.
But managing your Pods can be a chore. Podman TUI gives you handy, at-a-glance summary and control over all your Podman applications.
Why use Podman in the first place?
Containerisation is good for developers and good for users. Instead of creating and shipping a package which relies on dependencies which may or may not be on the user's system, and may or may not be a compatible version, devs can shovel into a container everything their apps need to run, and send it off on the software seas to its eventual home.
For the devs, this means they don't need to test the project in a huge and varied range of distros, versions, and custom tweaks the end-user might be running. Just one.
Will the user be running Arch, Debian, BSD? Who cares? Ship Alpine as a base image and it'll be fine.
For the user, it means there's no chance of falling into the depths and confusion of dependency hell as you chase your own tail around what package versions you have installed, what you need, and trying to remember why exactly you have libpng_1.2.54 pinned on your system when its actually older than your teenage kids.
Other containerisation options exist, but Podman is arguably superior from a security point of view because it runs without a root daemon - meaning that those teenage kids can install software without endangering the rest of your system. Plus, if your pod does turn out to be loaded with superpowered parasite and worm laden produce, it's not going to spread to the rest of your machine or network.
Managing pods can be a PITA
OK. It's not that bad. Podman comes with an almost identical set of commands to Docker. You can run pods with:
view your running containers with:
Or check the logs with:
You can kill, crush, and destroy, in a similar way. Start, stop, whatever.
But it's all kind of piecemeal. In one way, that's good. After all, a tool should do one thing and do it well, but there are times when you'd just like to be able to navigate your Podman pods quickly, and in one place.
Podman-tui is a TUI for Podman
Something of a redundant tautology in the title up there, and we apologise for it.
Podman-tui is the answer to the question, "how can I manage my pods, monitor them, check pod health, and put them out of their misery without typing in a bunch of commands", but that was too wordy for a subheading.
If you're foresighted enough to run CentOS Stream, Fedora, Gentoo, RHEL, or Arch Linux with AUR, you can install Podman-tui from your distro repositories. The package name is podman-tui, and you know how to do the rest.
Everyone else will have to compile from source. Instructions are provided in the repository, and make sure you have Golang installed before you start.
Once you have Podman-tui installed on your system, starting it is as simple as entering:
...into your terminal
The default view is System Connections, which on our setup isn't that interesting. Hit F3 to get an overview of your pods, together with their ID, status, creation time, and number of attached containers.
F4 will get you the containers, F5 the volumes, F6 the images, and F7 is for Networks. So far, so straightforward.
From any of these views you can use your keyboard to highlight any pod, container, image, etc. Hitting M brings up a menu of things you can do with them.
In the above screenshot, you can see 20 different actions it's possible to take on our selected Uptime-Kuma container. These range from simple troubleshooting options such as a healthcheck or viewing the logs, to creating checkpoints and committing changes.
It's everything you need, all in one place.
We're only running two containers on our virtual machine (Mealie and Uptime-Kuma), and we're already finding it pretty useful , but if you're orchestrating dozens of pods, Podman-tui could prove itself invaluable.
Use Podman-tui to manage all your containerised apps
As the dominant player in the containerisation game, you'll find many apps packed up and ready to go with Docker. But because both Docker and Podman adhere and contribute to the Open Container Initiative, anything that works with Docker should work with Podman, too.