Add podman support to the installer #1256

Closed
opened 2026-04-05 18:37:42 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @wayneyaoo on 7/9/2025

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

The change primarily adds support for podman installation within the installer. The installer will prompt for selection between docker (the default) and podman.

A few points to notice:

  1. If podman and podman-compose are not available, the installer will exit. This is by design at the moment because installing for people like what the installer does to docker is involving. If this is needed, I can do that in later iterations.
  2. I added docker.io to the compose template file. This is because for freshly installed podman, it needs to add an entry to the registeries.conf so that image short name resolves. But I don't think editing this on behalf of people makes a lot of sense, so I resort to use explicit full name in the image entry. This has benefit to docker too because explicitness is still better than being implicit.
  3. I added a few targets to the Makefile without breaking existing ones in CI. This is easier for local dev.

How to test?

Spin up a Debian/Ubtuntu machine and manually install podman and podman-compose, then run the installer.

For some reason, Debian 12 default podman and podman-compose's versions are too old and they have problem processing the docker-compose.yml. I believe this is version-specific, not distro-specific. We should specify to use newer versions (>= v5.5.2 of podman, >= 1.4.1 podman-compose). Otherwise it'll appear as pangolin installation being broken which is not the case.

*Originally created by @wayneyaoo on 7/9/2025* ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Description The change primarily adds support for podman installation within the installer. The installer will prompt for selection between docker (the default) and podman. A few points to notice: 1. If podman and podman-compose are not available, the installer will exit. This is by design at the moment because installing for people like what the installer does to docker is involving. If this is needed, I can do that in later iterations. 2. I added `docker.io` to the compose template file. This is because for freshly installed podman, it needs to add an entry to the `registeries.conf` so that image short name resolves. But I don't think editing this on behalf of people makes a lot of sense, so I resort to use explicit full name in the image entry. This has benefit to docker too because explicitness is still better than being implicit. 3. I added a few targets to the Makefile without breaking existing ones in CI. This is easier for local dev. ## How to test? Spin up a Debian/Ubtuntu machine and manually install podman and podman-compose, then run the installer. For some reason, Debian 12 default podman and podman-compose's versions are too old and they have problem processing the `docker-compose.yml`. I believe this is version-specific, not distro-specific. We should specify to use newer versions (>= v5.5.2 of podman, >= 1.4.1 podman-compose). Otherwise it'll appear as pangolin installation being broken which is not the case.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pangolin#1256