A tool for development using podman. Create simple development containers with easy access to the host filesystem using a correct user id mapping. Features such as sharing SSH config (e.g. SSH agent) or starting GUI applications from the container are supported.
On the system level, the podman
and the catatonit tools are required.
They are available and packaged for a large number of systems.
Please refer to the official manual containing install instructions.
On Debian, this bails down to:
$ sudo apt install podman catatonit
$ pipx install devman
devman
can be run without installation using the uv tool:
$ uvx devman
Ready to use containers with a lot of pre-installed development tools are provided by the Github container registry associated with this repo.
Pull the default Debian container (the Containerfile
is located in this repository in containers/debian/
):
$ devman pull
Start a fish
shell in a container:
$ devman run fish
The current directory DIR
from the host is mounted in the container at /home/dev/CWD/DIR
.
The user dev
corresponds to the user that invoked devman
.
If you would like to share your SSH config with the container, add --ssh
.
If you want to be able to start GUI applications from the container, add --gui
.
For performance reason you could consider using native overlay mounts. Make sure that the following is included in your storage configuration.
$ cat ~/.config/containers/storage.conf
[storage]
driver = "overlay"