skorokithakis / harbormaster

The tiniest container orchestrator.
GNU Affero General Public License v3.0
9 stars 1 forks source link

Clarification on Folder Structure and Monitoring for Docker Compose with harbormaster #1

Open victornavorskie opened 1 month ago

victornavorskie commented 1 month ago

I am currently managing my Docker Compose files in a Git repository using semantic versioning (pinning). I utilize Renovate to automate updates through pull requests. However, I have a specific use case that I need assistance with:

I appreciate any insights or examples you could provide on how best to implement this setup.

skorokithakis commented 1 month ago

This is exactly what Harbormaster does, but it's a bit more opinionated in that it's not one single repo, but one central repo (with the definition of what you want the server to be running), and then each service repo has its own Compose file.

I'd be happy to answer these questions, but I really should answer them in the docs. Can you let me know which parts of the documentation are unclear, so I can try to expound on that, and answer these questions for any future users as well?

victornavorskie commented 1 month ago

Thank you for your previous response! I have a repository similar to this example, and I need some clarification on how Harbormaster identifies docker-compose.yaml files of each folder . My goal is to configure Harbormaster in such a way that I can simply specify my repository. For instance, if I merge a new version of Gitea, I would like Harbormaster to recognize this change and automatically perform actions similar to what Watchtower does, but specifically targeting the updated version. In the documentation, it wasn't clear how Harbormaster locates the docker-compose.yaml files. Could you provide more realistic examples or use cases that demonstrate how to set this up effectively in Doku?

skorokithakis commented 1 month ago

Harbormaster by default just looks for a docker-compose.yml at the root of the repo. You can configure it to look at another location, but it will still be one Compose file per service. Your problem is that Harbormaster will restart all services when you commit to one, as every service's repo will change every time you update one service (as they're all in the same repo).

The way I solved that is by keeping each app in its own branch, rather than its own directory, but I don't know if that'll suit you.

I don't know what you mean about setting it up on Dokku, as Dokku is another container orchestrator and will manage its own containers.