Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Kompozit

Docker Pulls PyPI - Status PyPI - Version PyPI - Downloads Release

ℹ Mostly likely you may want to use Use multiple Compose files in Docker Compose itself.

Declarative Configuration Management Tool for Docker Compose.

Like kustomize.io, but for Docker Compose.

kompozit logo

Features

Kompozit simplifies complex Docker Compose setups using declarative overlays, supporting:

Resources

But Why...? 🤔

There are scenarios where you might need different Docker Compose configurations for the same application on different machines.

  • For example, I use slightly different configurations for the Traefik reverse proxy when managing my public WordPress site versus my home server. Instead of maintaining multiple, slightly different docker-compose.yml files for the same app, you can use kompozit to simplify and manage these variations efficiently.

Additionally, kompozit allows you to combine multiple docker-compose.yml files into a single stack.

  • For instance, you can keep a generic docker-compose.yml for PostgreSQL in a central location and customize it for different stacks in other locations as needed.

Installation 💻

PyPi

https://pypi.org/project/kompozit/

python -m pip install kompozit

kompozit -h
usage: kompozit [-h] [-b BUILD_PATH] [-o OUTPUT_DIR] [-v]

Declarative Configuration Management Tool for Docker Compose.

options:
  -h, --help            show this help message and exit
  -b, --build BUILD_PATH
                        Path to a directory containing 'kompozition.yaml' or 'kompozition.yml'. (default: .)
  -o, --output-dir OUTPUT_DIR
                        Directory to save the generated Docker Compose files. (default: None)
  -v, --version         Show kompozit version

Docker

https://hub.docker.com/r/veerendra2/kompozit

docker pull veerendra2/kompozit

Usage Examples ⚙️

git clone git@github.com:veerendra2/kompozit.git
cd kompozit
python -m pip install .

kompozit --build ./examples/overlay
...

# inside docker
docker pull kompozit:latest
docker run -it --rm -v ./examples:/examples kompozit:latest -b /examples/overlay

Local Development 🔧

git clone git@github.com:veerendra2/kompozit.git
cd kompozit

python -m venv venv
source venv/bin/activate
pip install -e .

Metadata

Release files for kompozit 0.2.1b0

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

Source distribution (sdist)

Source distribution for kompozit 0.2.1b0
File Size Uploaded
kompozit-0.2.1b0.tar.gz 9.2 kB Details

Release files / kompozit-0.2.1b0.tar.gz

Download URL kompozit-0.2.1b0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2398d706455b1ef70b9594b36a74c22db90c4e7112e3819ee57546547667888a
BLAKE2b-256 checksum
How to use checksums
ce810101df1706f38c5dd996d47288e6e20e259684e27c010132d01a92f0ef9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.2.1b0 This release

1 release file

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