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:02:05 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

7 sources
> For everything else... Except for: - Docker Compose (because podman-compose has a large amount of open issues https://github.com/containers/podman-compose/issues) - Docker Swarm (since Docker provides a lightweight orchestrator out of the box), you'd need to use something like K3s or another Kubernetes distro - anything that uses the Docker socket (/var/run/docker.sock), so you can forget about running anything like Portainer or any of the other tools out there
In Podman in Linux
Ive been using Podman for a while for my non-Kubernetes cloud deployments (i.e. small VM based things). It's worked very well for me after a few initial hiccups a year or so ago. Now that Podman-compose[0] is in the works, it'll really be comparable in the UX space soon, and outperforms Docker in several ways when it comes to security. The key difference with Podman compared to Docker is that is does not run a deamon as root, like Docker does, thus all containers are created with the privilege level of the user who created it. This can be a learning curve for those used to Docker as privileges (e.g. for filesystems, files) and capabilities (e.g. for devices, low level networking) need to be handled more explicitly as opposed to Docker's approach of "simon (root) says". Additionally, Podman is very light weight due to the lack of a daemon
Read the rest
since there is no service or supporting software which needs to run beyond the capabilities baked into Linux. [0] https://github.com/containers/podman-compose EDIT TO ADD: I run Linux both on desktop and server so I have no data for usage in Windows/Mac. Docker Desktop, as I understand it, is a Linux VM.
In Migrating from Docker to Podman
> Simply use alias docker=podman and you’ll never know the difference. Unless you use Docker Swarm, in which case you'll lose access to simple orchestration that's not overengineered, unlike Kubernetes which you'll now be forced to use. Or unless you use software that depends on the Docker socket being available (such as for Portainer, a graphical management utility [1]), in which case you'll lose the ability to use such software. Or maybe you're one of the countless folks who tried using Podman but ran into a variety of issues that still haven't been addressed in many cases [2]. Or maybe you use Docker Compose and now have just lost the ability to run simple single node orchestration with YAML files, because Podman Compose is oftentimes flawed as well [3]. That's not to say that what Podman is attempting to do shouldn't be applauded, yet
Read the rest
claiming that exchanging one set of leaky abstractions for another set of leaky abstractions is painless and will work for all of the people out there simply isn't true. I don't see Podman being a backwards compatible alternative to Docker on an API level, it'll simply kill it off eventually by supporting the OCI standard for containers and being a Kubernetes runtime at the lower level. Lots of people will need to re-engineer their approach to running containers and lots of time will be necessary to migrate away from Docker. [1] https://www.portainer.io/ [2] https://github.com/containers/podman/issues [3] https://github.com/containers/podman-compose/issues
In Ignoring Docker updates is a paid feature now?

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.