Skip to main content

DKP - DocKer compose Packer

PyPI - Version

Packs existent docker-compose project in executable single encrypted (GPG AES256) archive (tar + gz). It means, that you don't need to install DKP or remember procedure details during restore which dramatically reduces stress and make your life simpler. In the end - it's hard to remember how to restore backup made by N generations of administrators years ago before you...

The pipeline is:

flowchart TD
    A[tar volumes] -->B(tar images)
    B --> C[add env files and manifests]
    C --> D[add restore scripts]
    D --> E[compress and encrypt]
    E --> F[wrap to self-extracting file]

For backup you need:

  • gpg
  • python 3.8+ (see tests in workflow)
  • sh
  • tar
  • gzip
  • docker with compose plugin

For restore you need:

  • gpg
  • sed
  • tar
  • gzip

Installation

Recomended

pip install dkp

Alternative - just download dkp/dkp.py and make it executable.

Backward compatibility

Once backup created, the version of DKP doesn't matter anymore since archive is self-complete independent file.

New DKP versions may introduce more features as well as different layout of final archive, but it will not affect previous backups.

Usage

Create backup

usage: dkp [-h] [--output OUTPUT] [--skip-images] [--passphrase PASSPHRASE] [project]

DocKer compose Packer - backup compose project with all batteries included

positional arguments:
  project               Compose project name. Default is docker-compose-pack

options:
  -h, --help            show this help message and exit
  --output OUTPUT, -o OUTPUT
                        Output file. Default docker-compose-pack.bin
  --skip-images, -S     Do not archive images
  --passphrase PASSPHRASE, -p PASSPHRASE
                        Passphrase to encrypt backup. Can be set via env PASSPHRASE

Restore

Usage:

./path/to/backup/file [--restore/-r] [-s/--start] [-h/--help] [passphrase]

   passphrase      Key to decrypt archive. Can be set by env PASSPHRASE

  -h, --help       Show this help
  -r, --restore    Automatically restore project after unpacking
  -s, --start      Automatically start project after unpacking. Implicitly enables --restore

Metadata

Release files for dkp 0.2.0

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

Source distribution (sdist)

Source distribution for dkp 0.2.0
File Size Uploaded Provenance Actions
dkp-0.2.0.tar.gz 7.5 kB Without provenance Details for dkp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dkp 0.2.0
File Interpreter ABI Platform Actions
dkp-0.2.0-py3-none-any.whl Python 3 none any Details for dkp-0.2.0-py3-none-any.whl

Total release size: 15.9 kB

Release files / dkp-0.2.0.tar.gz

Download URL dkp-0.2.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4356ad82ec2d6612a5803cdaef36fc2828c408c04844a1ca90e621b745010d9f
BLAKE2b-256 checksum
How to use checksums
f0908aa077f9907891a4c62f4d95f10269fbea3bae13939bd1a98e110b13596c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.8

Release files / dkp-0.2.0-py3-none-any.whl

Download URL dkp-0.2.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c85433d00d97ab7d850d9327bc8dc93103e5ecd0bbb68b248ed0c883666203bf
BLAKE2b-256 checksum
How to use checksums
c3746a701ce1a5e6db0c04e32337cd5343ed88b6de7db4bc28af11082e8a75af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.8

Security for dkp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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