Pods
Manage your containers
Pods is a frontend for Podman/Docker. It uses libadwaita for its user interface and strives to meet the design principles of GNOME. The project is written primarily in Rust, distributed under the GNU General Public License v3.0 license, first published in 2022. It has gained significant community traction with 1,055 stars and 34 forks on GitHub. Key topics include: docker, gnome, gtk4, gtk4-rs, libadwaita.
Pods is a frontend for Podman/Docker. It uses libadwaita for its user interface and strives to meet the design principles of GNOME.
With Pods you can, among other things:
- Connect to local and remote Podman/Docker instances.
- Easily overview images, containers and pods.
- View prepared information about images, containers, and pods.
- Inspect images, containers and pods.
- View and search container logs.
- Monitor processes of containers and pods.
- Download images and build them using Dockerfiles.
- Create pods and containers.
- Control the lifecycle of containers and pods (in bulk) (start, stop, pause, etc.).
- Delete images, containers, and pods (in bulk).
- Prune images.
- Rename containers.
🔌 Installation
Install Pods from flathub by issuing
shellflatpak install com.github.marhkb.Pods
Pods can be kept up to date by issuing flatpak's update command like
shellflatpak update
You can also grab the latest CI build from here.
Then you need to unzip the archive's content and install the application with the command flatpak install pods.flatpak.
Keep in mind that you have to manually repeat this procedure to update the application.
🏗️ Developing
Devcontainer
This repository includes a devcontainer setup, providing effective isolation between the host and the development environment.
It also simplifies development in any editor that supports devcontainers.
Zed Editor
Thanks to the devcontainer setup, Zed can be used to develop Pods effortlessly. There are predefined Zed tasks that streamline the process.
Initially, the following three tasks need to be executed sequentially:
- flatpak: init
- flatpak: build dependencies
- flatpak: run
Afterward, during development, only the last task needs to be executed.
GNOME Builder
GNOME Builder is an plug and play method developing this application.
It can use Flatpak manifests to create a consistent building and running
environment cross-distro. Thus, it is highly recommended you use it.
- Download GNOME Builder.
- In Builder, click the "Clone Repository" button at the bottom, using
https://github.com/marhkb/pods.gitas the URL. - Click the build button at the top once the project is loaded.
Meson
Prerequisites
The following packages are required to build Pods:
- meson >= 0.59
- ninja
- appstream-glib (for checks)
- cargo
- glib2 >= 2.66
- gtk4 >= 4.18
- libadwaita >= 1.7
- gtksourceview > 4.90
- vte-2.91-gtk4 >= 0.70
Build Instruction
shellgit clone https://github.com/marhkb/pods.git cd pods meson _build --prefix=/usr/local ninja -C _build install
🙌 Help translate Pods
You can help Pods translate into your native language. If you found any typos
or think you can improve a translation, you can use the Weblate platform.
👨💻️ Code of Conduct
We adhere to the GNOME Code of Conduct and expect all communications within this project to comply with it.
💝 Acknowledgment
The library podman-api-rs provides a rust interface to the Podman API.
Without this great project, Pods would probably never have come into existence.
I also wanted to thank SeaDve, from whom I took the gettext python script and whose projects like Kooha and Mousai served as inspiration for the README.
And also, a warm thank you to all the contributors
and translators from Weblate.
Contributors
Showing top 12 contributors by commit count.
