Skip to main content

Podman Compose

An implementation of docker-compose with Podman backend. The main objective of this project is to be able to run docker-compose.yml unmodified and rootless. This project is aimed to provide drop-in replacement for docker-compose, and it's very useful for certain cases because:

  • can run rootless
  • only depend on podman and Python3 and PyYAML
  • no daemon, no setup.
  • can be used by developers to run single-machine containerized stacks using single familiar YAML file

For production-like single-machine containerized environment consider

For the real thing (multi-node clusters) check any production OpenShift/Kubernetes distribution like OKD.

NOTE

This project is still under development.

Installation

Install latest stable version from PyPI:

pip3 install podman-compose

pass --user to install inside regular user home without being root.

Or latest development version from GitHub:

pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz

or

curl -o /usr/local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/devel/podman_compose.py
chmod +x /usr/local/bin/podman-compose

or

curl -o ~/.local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/devel/podman_compose.py
chmod +x ~/.local/bin/podman-compose

or install from Fedora (starting from f31) repositories:

sudo dnf install podman-compose

Basic Usage

We have included fully functional sample stacks inside examples/ directory.

A quick example would be

cd examples/busybox
podman-compose --help
podman-compose up --help
podman-compose up

A more rich example can be found in examples/awx3 which have

  • A Postgres Database
  • RabbitMQ server
  • MemCached server
  • a django web server
  • a django tasks

When testing the AWX3 example, if you got errors just wait for db migrations to end.

Tests

Inside tests/ directory we have many useless docker-compose stacks that are meant to test as much cases as we can to make sure we are compatible

How it works

The default mapping 1podfw creates a single pod and attach all containers to its network namespace so that all containers talk via localhost. For more information see docs/Mappings.md.

If you are running as root, you might use identity mapping.

Metadata

Release files for podman-compose 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for podman-compose 0.1.8
File Size Uploaded
podman-compose-0.1.8.tar.gz 20.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for podman-compose 0.1.8
File Interpreter ABI Platform
podman_compose-0.1.8-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 48.3 kB

Release files / podman-compose-0.1.8.tar.gz

Download URL podman-compose-0.1.8.tar.gz
Size 20.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8e6b6686ba6bab43a3e74f23ac22ddff57b695dc6cfb1d672b9a2fbf51858eef
BLAKE2b-256 checksum
How to use checksums
cd3a824c403fa6006e97558ad53ade88591f846a3eb2611f26c789dfe95df545
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release files / podman_compose-0.1.8-py2.py3-none-any.whl

Download URL podman_compose-0.1.8-py2.py3-none-any.whl
Size 27.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
127bb2e88878b80bb775642f6a817d7e6b2dfac2c12719e22479da3a64668c56
BLAKE2b-256 checksum
How to use checksums
17e9fc26c02c9e6c8460c908f0084ab54ed677db1e6987811768a5e987490939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release history Release notifications | RSS feed

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.6

2 release files

1.0.3

2 release files

1.0.2

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

This release

0.1.8 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page