HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
containers
podman-compose
Python2019–2026
containers / podman-compose

podman-compose

a script to run docker-compose.yml using podman

32Distinct people
35Mentions
0Explicit recommenders
6.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

a script to run docker-compose.yml using podman

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:56:20 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year35 dated mentions

Observed mentions: 2019-09-12 05:00:24 UTC to 2026-07-03 08:09:47 UTC.

024682019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC716
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC707
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC808
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC404

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Podman Compose An implementation of Compose Spec with Podman backend. This project focuses on: rootless daemon-less process model, we directly execute podman, no running daemon. This project only depends on: podman a podman network backend with DNS name resolution available. This allows containers to be able to resolve each other if they are on the same network. either: podman dnsname plugin with CNI network backend: It is usually found in the podman-plugins or podman-dnsname distro packages, those packages are not pulled by default and you need to install them. or: netavark/aardvark-dns: Both are usually installed on new installations of podman 4. Python 3.9 or newer PyYAML python-dotenv And it's formed as a single Python file script that you can drop into your PATH and run. References: spec.md docker-compose compose-file-v3 docker-compose compose-file-v2 Alternatives As in this article you can setup a podman.socket and use unmodified docker-compose that talks to that socket but in this case you lose the process-model (ex. docker-compose build will send a possibly large context tarball to the daemon) For production-like single-machine containerized environment consider k3s | k3s github MiniKube For the real thing (multi-node clusters) check any production OpenShift/Kubernetes distribution like OKD. Versions If you have legacy version of podman (before 3.1.0) you might need to stick with legacy podman-compose 0.1.x branch. The legacy branch 0.1.x uses mappings and workarounds to compensate for rootless limitations. Modern podman versions (>=3.4) do not have those limitations, and thus you can use latest and stable 1.x branch. If you are upgrading from podman-compose version 0.1.x then we no longer have global option -t to set mapping type like hostnet. If you desire that behavior, pass it the standard way like network_mode: host in the YAML. Installation Pip Install the latest stable version from PyPI: pip3 install podman-compose pass --user to install inside a regular user's home without being root. Or latest development version from GitHub: pip3 install https://github.com/containers/podman-compose/archive/main.tar.gz Package repositories podman-compose is available from the following package repositories: Debian: sudo apt install podman-compose Fedora (starting from f31) repositories: sudo dnf install podman-compose Homebrew: brew install podman-compose Generate binary using docker/podman locally This script will download the repo, generate the binary using this Dockerfile, and place the binary in the directory where you called this script. sh -c "$(curl -sSL https://raw.githubusercontent.com/containers/podman-compose/main/scripts/download_and_build_podman-compose.sh)" Manual curl -o /usr/local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/main/podman_compose.py chmod +x /usr/local/bin/podman-compose or inside your home curl -o ~/.local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/main/podman_compose.py chmod +x ~/.local/bin/podman-compose Tests podman-compose is tested via unit and integration tests. Unit tests can be run via the following: python3 -m unittest discover tests/unit Integration tests can be run via the following: python3 -m unittest discover tests/integration Contributing guide If you are a user or a developer and want to contribute please check the CONTRIBUTING section
Read the full README on GitHub

What Hacker News says

1 sources
I already was defining my infrastructure with docker-compose.yml files, and found out that podman-compose has a poorly documented feature that generates systemd units. It doesn't use the now-deprecated podman feature, it writes the unit files itself, and I find the process much smoother than the podman feature anyway. To enable the feature: $ podman-compose systemd -a create-unit To register a systemd unit: $ podman-compose systemd -a register $ systemctl --user enable --now "podman-compose@$PROJECT_NAME" Updating looks like this: $ podman-compose pull $ systemctl --user restart "podman-compose@$PROJECT_NAME" ($PROJECT_NAME is usually the directory name.) Source code for the feature is here if you care to inspect it: https://github.com/containers/podman-compose/blob/f6dbce3618... Admittedly, I'm still on podman 4.3.
Read the rest
1, but I don't see any reason why this would stop working in later versions of podman.
In Exploring Podman: A More Secure Docker Alternative

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.