{"id":13605397,"url":"https://github.com/ntk148v/prompose","last_synced_at":"2025-04-22T23:49:01.213Z","repository":{"id":87351472,"uuid":"126296940","full_name":"ntk148v/prompose","owner":"ntk148v","description":"Prometheus setup with Ansible and Docker-compose","archived":false,"fork":false,"pushed_at":"2020-05-05T04:19:59.000Z","size":172,"stargazers_count":13,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T23:48:59.599Z","etag":null,"topics":["ansible","docker","docker-compose","prometheus"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntk148v.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-22T07:33:02.000Z","updated_at":"2022-12-16T10:53:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"622f9e5e-b712-4f33-8b6f-a39994cfc625","html_url":"https://github.com/ntk148v/prompose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntk148v%2Fprompose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntk148v%2Fprompose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntk148v%2Fprompose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntk148v%2Fprompose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntk148v","download_url":"https://codeload.github.com/ntk148v/prompose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250343909,"owners_count":21415036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","docker","docker-compose","prometheus"],"created_at":"2024-08-01T19:00:58.278Z","updated_at":"2025-04-22T23:49:01.165Z","avatar_url":"https://github.com/ntk148v.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Prompose\n\n\u003e **NOTE**: For the complete solution, please check [ansitheus](https://github.com/ntk148v/ansitheus).\n\n## Overview\n\n* Inspired by [OpenStack Kolla-ansible](https://github.com/openstack/kolla-ansible): You can recognize that Prompose is very similar with Kolla-ansible.\n\n* Install [Docker](https://www.docker.com/) and [Docker-compose](https://docs.docker.com/compose/) in multiple hosts.\n\n* Easily configure and deploy containerized [Prometheus](https://prometheus.io) stack: Prometheus, Alertmanager,  its [exporter](https://prometheus.io/docs/instrumenting/exporters/), [Telegram Bot for Prometheus's Alertmanager](https://github.com/metalmatze/alertmanager-bot) and [Grafana](https://grafana.com/) in multiple hosts.\n\n## Why Prompose?\n\n* In the origin version, I used [docker-compose](https://docs.docker.com/compose/) to deploy Prometheus monitoring stack. Therefore `Prompose` is born, simply it is `Prometheus + Docker-compose = Prompose`. This version stills available [pure-docker-compose branch.](https://github.com/ntk148v/prompose/tree/pure-docker-compose)\n\n* The current version is using [ansible](https://github.com/ansible/ansible) and its [docker\\_service module](https://docs.ansible.com/ansible/2.5/modules/docker_service_module.html) to configure number of exporters, port... and deploy Prometheus stack in several hosts easily.\n\n* Why don't use [docker\\_container module](https://docs.ansible.com/ansible/2.5/modules/docker_container_module.html)? Just because I found this **after** [docker\\_service](https://docs.ansible.com/ansible/2.5/modules/docker_container_module.html). Maybe will use it in the future?\n\n## Usage guide\n\n* Firstly, you have to install ansible (\u003e=2.4) in your management host. There are multiple ways to install ansible, but you simply use [requirements.txt](./requirements.txt). You should have `python-pip` and `python-dev` as well.\n\n```\n$ sudo pip install -r requirements.txt\n```\n\n* Create `/etc/prompose` directory and copy [etc/prompose.yml](./etc/prompose.yml) config file. You can put config in whatever directory you want, but then when execute command, you have to use `--configdir` option to point to the directory.\n\n```\n$ sudo mkdir /etc/prompose\n$ sudo cp etc/prompose.yml /etc/prompose/prompose.yml\n```\n\n* Read the config file and [ansible/group\\_vars/all.yml](./ansible/group_vars/all.yml) file (The options in this file **can be overriden** in `prompose.yml`') carefully, then do the change in config file you copied in previous step (by default it is )`/etc/prompose/prompose.yml`).\n\n* Prepare your inventory file - defines your hosts. Example file can be found [here](./ansible/inventory/).\n\n* Run Prompose, point to inventory file with option `--inventory|-i`:\n\n```\n$ sudo ./tools/prompose -i ansible/inventory/all-in-one -h    \nUsage: ./tools/prompose COMMAND [option]\n\nOptions:\n    --inventory, -i \u003cinventory_path\u003e Specify path to ansible inventory file\n    --configdir, -c \u003cconfig_path\u003e    Specify path to directory with prompose.yml\n    --verbose, -v                    Increase verbosity of ansible-playbook\n    --help, -h                       Show this usage information\n    --images                         Remove images when this option is defined and command is remove\n    --volumes                        Remove volumes when this option is defined and command is remove\n\nCommands:\n    installdocker                    Install docker \u0026 docker-compose in target hosts\n    precheck                         Do pre-deployment checks for hosts\n    deploy                           Deploy and start all prompose containers\n    stop                             Stop all prompose containers\n    pull                             Pull all images for containers (only pull, no running containers)\n    remove                           Stop and remove all prompose containes (With --images - remove images and --volumes - remove volumes)\n    restart                          Restart all prompose containers\n```\n\n* Enjoy it!\n\n## Contribute\n\n* If you are interesed with this project, feel free to create a pull request.\n\n* If you have any questions, please contact me via email `kiennt2609@gmail.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntk148v%2Fprompose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntk148v%2Fprompose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntk148v%2Fprompose/lists"}