Skip to main content

A supervisor for docker-compose apps.

Project description

Harbormaster

Do you have apps you want to deploy to a server, but Kubernetes is way too much? Harbormaster is for you.

Harbormaster is a small and simple container orchestrator that lets you easily deploy multiple Docker-Compose applications on a single host.

It does this by taking a list of git repository URLs that contain Docker Compose files and running the Compose apps they contain. It will also handle updating/restarting the apps when the repositories change.

Please visit the documentation for more details.

Rationale

Do you have a home server you want to run a few apps on, but don't want everything to break every time you upgrade the OS? Do you want automatic updates but don't want to buy an extra 4 servers so you can run Kubernetes?

Do you have a work server that you want to run a few small services on, but don't want to have to manually manage it? Do you find that having every deployment action be in a git repo more tidy?

Harbormaster is for you.

At its core, Harbormaster takes a YAML config file with a list of git repository URLs containing Docker Compose files, clones/pulls them, and starts the services they describe.

You run Harbormaster on a timer, pointing it to a directory, and it updates all the repositories in its configuration, and restarts the Compose services if they have changed. That's it!

It also cleanly stores data for all apps in a single data/ directory, so you always have one directory that holds all the state, which you can easily back up and restore.

See more details in the documentation.

Changelog

v0.3.4 (2023-07-31)

Features

  • Add the HM_ vars to the environment so they can be used in Compose v2 files. [Stavros Korokithakis]

Fixes

  • Fix wrong paths when launching Docker Compose. [Stavros Korokithakis]

v0.3.3 (2023-07-23)

Fixes

  • Add missing crond invocation back. [Stavros Korokithakis]

  • Don't complain about the directory if we restart the container. [Stavros Korokithakis]

v0.3.2 (2023-07-23)

Fixes

  • Fix tests. [Stavros Korokithakis]

  • Fix the Harbormaster Docker container. [Stavros Korokithakis]

  • Fix issue with the Harbormaster Docker image not being able to find the data dir. [Stavros Korokithakis]

  • Add docker-cli-compose to the Dockerfile. [Stavros Korokithakis]

v0.3.1 (2023-07-22)

Features

  • Add git-crypt to the Docker image. [Stavros Korokithakis]

Fixes

  • Change Compose filename. [Stavros Korokithakis]

  • Don't restart apps when their configuration hasn't been updated. [葛上昌司]

  • Move the --version command to the right place. [Stavros Korokithakis]

v0.3.0 (2023-03-01)

Features

  • Add docker image with webhook support. [Jonas Seydel]

Fixes

  • Upgrade Click (fixes #9) [Stavros Korokithakis]

  • Be more defensive when loading the config. [Stavros Korokithakis]

  • Fix the configuration directory having the wrong relative path base (fixes #12) [Stavros Korokithakis]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker_harbormaster-0.3.4.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

docker_harbormaster-0.3.4-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file docker_harbormaster-0.3.4.tar.gz.

File metadata

  • Download URL: docker_harbormaster-0.3.4.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for docker_harbormaster-0.3.4.tar.gz
Algorithm Hash digest
SHA256 ca85e33f1b12670d061dd06f88dfa8679b62e2ca01cd83ff2e5da0c8b25c2489
MD5 b8a3776d29f981a60db9b1d487660fab
BLAKE2b-256 01f13ac6af35b599d5c9c3f05addb9e65bd8280aa68b20ddeea373f6f0bcee24

See more details on using hashes here.

File details

Details for the file docker_harbormaster-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_harbormaster-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 32814d2dfc188517dbb8ab626ed7bec7c251f98b2540d817da17505caaa3533b
MD5 7ee5246b84807d987a7eed1f16cb3b01
BLAKE2b-256 e5c5ab58560f787b1c5614d72e22995d2b8242fd2c706ae356985221b1fba253

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page