
I've been building a desktop app for managing Docker and Podman containers as my university thesis. It's a native Linux application written in Python + PyQt5 — no browser, no web server, just a window.
GitHub: https://github.com/KoradG/Docker_manager
What it does:
- Container lifecycle management (start, stop, pause, restart, remove)
- Image operations: pull with live progress, tag, push, run with custom params
- Volume and network management
- Docker Compose support — auto-detects docker compose / podman compose / podman-compose
- Docker Swarm
- Real-time CPU, RAM and disk I/O graphs
- Embedded terminal emulator — full PTY-backed shell inside the app, htop/vim/nano work correctly
- Runtime Docker ↔ Podman backend switch without restarting
Podman specifics:
Rootless socket is auto-detected, cgroups v2 is checked (pause/unpause is suppressed with a warning on v1), and the podman-docker shim on Arch Linux — the one that causes `unsupported protocol: Yunix` errors with compose — is detected and routed around automatically.
Try it:
```
pip install -r requirements.txt
python main.py
```
Requires Docker or Podman running locally. Developed and tested on Linux.
This is a thesis project, not a polished product. I'm looking for honest feedback — crashes, edge cases, anything that feels good or wrong. Bug reports are especially welcome.