This repository contains a set of dockerized tools using Ansible. For each tool, there is an ansible role, and the services can be deployed independently.
Roles:
- clean - Cleanup task for all docker containers
- portainer - Deploys Portainer container
- prometheus - Deploys Prometheus container
- grafana - Deploys Grafana container
- elasticsearch - Deploys elasticsearch container
- kibana - Deploys Kibana container
- logstash - Deploys Logstash container
- filebeat - Deploys container that forwards log files
- nginx - Deploys Nginx proxy with LetsEncrypt certificates
The target Docker host requires the following packages:
- Docker
- Pip
- Ansible
- Ansible Docker module
Currently only deployment to localhost is supported. The following steps are required to deploy the services:
Test connection
ansible all -m ping -i inventory
Deploy all services
ansible-playbook -i inventory tools.yml
Deploy individual services
ansible-playbook -i inventory tools.yml --tags "portainer"
Cleanup all services
ansible-playbook -i inventory tools-clean.yml
Cleanup individual services
ansible-playbook -i inventory tools-clean.yml --tags "portainer"
The services can be accessed using the following URLs:
Service | URL |
---|---|
Portainer | http://localhost |
Prometheus | http://localhost/prometheus |
Grafana | http://localhost/grafana |
Elasticsearch | http://localhost/elasticsearch |
Kibana | http://localhost/kibana |
All default passwords can be found in the inventory/group_vars/local/vars.yml
file.