2022-08-05 20:59:55 +02:00
|
|
|
Docker services
|
|
|
|
===============
|
|
|
|
|
|
|
|
The present role :
|
|
|
|
- installs Docker on host
|
|
|
|
- installs various services through containers and docker-compose manifest
|
|
|
|
|
2022-08-05 21:06:11 +02:00
|
|
|
It has been tested on :
|
2022-08-05 20:59:55 +02:00
|
|
|
- Debian 9
|
|
|
|
- Debian 10
|
|
|
|
- Debian 11
|
2023-09-04 16:28:09 +02:00
|
|
|
- Debian 12
|
2022-08-05 20:59:55 +02:00
|
|
|
|
2022-08-05 21:06:11 +02:00
|
|
|
Available services
|
|
|
|
------------------
|
|
|
|
|
|
|
|
- Traefik
|
|
|
|
- Watchtower
|
|
|
|
- Grafana
|
2022-09-16 11:33:42 +02:00
|
|
|
- Maildev
|
2022-11-16 12:04:24 +01:00
|
|
|
- cadvisor
|
2022-11-25 16:52:19 +01:00
|
|
|
- Redisinsight
|
2023-09-04 16:28:09 +02:00
|
|
|
- Gitlab
|
2022-08-05 21:06:11 +02:00
|
|
|
|
2022-08-05 20:59:55 +02:00
|
|
|
Role variables
|
|
|
|
---------------
|
|
|
|
|
|
|
|
| Variable | Type | Choices | Default | Comment |
|
|
|
|
|----------------------------------------------|---------|------------------------------------------------------------------------------------|-------------------------|-----------------|
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
|
|
|
None.
|
|
|
|
|
|
|
|
Example Playbook
|
|
|
|
----------------
|
|
|
|
|
2022-08-05 21:06:11 +02:00
|
|
|
```
|
2022-08-05 20:59:55 +02:00
|
|
|
- hosts: example
|
|
|
|
ignore_errors: "{{ ansible_check_mode }}" # ignore errors only in check mode !
|
|
|
|
|
|
|
|
roles:
|
|
|
|
- { role: docker-services, tags: ['docker-services'] }
|
2022-08-05 21:06:11 +02:00
|
|
|
```
|
2022-08-05 20:59:55 +02:00
|
|
|
|
|
|
|
Example variables
|
|
|
|
-----------------
|
|
|
|
|
2022-08-05 21:06:11 +02:00
|
|
|
```
|
2022-08-05 20:59:55 +02:00
|
|
|
---
|
|
|
|
docker_services:
|
|
|
|
- traefik
|
|
|
|
- watchtower
|
|
|
|
- grafana
|
2022-09-16 11:33:42 +02:00
|
|
|
- maildev
|
2022-11-16 12:04:24 +01:00
|
|
|
- cadvisor
|
2022-11-25 16:52:19 +01:00
|
|
|
- redisinsight
|
2023-09-04 16:28:09 +02:00
|
|
|
- gitlab
|
2022-08-05 20:59:55 +02:00
|
|
|
|
2023-09-04 16:28:09 +02:00
|
|
|
traefik_domain: 'example.com'
|
|
|
|
traefik_letsencrypt_email: 'cert@example.com'
|
2023-03-01 18:29:00 +01:00
|
|
|
traefik_ipwhitelist: '42.42.42.42/32, 192.168.1.0/24, 127.0.0.1/32'
|
2022-09-16 11:33:42 +02:00
|
|
|
|
2023-09-04 16:28:09 +02:00
|
|
|
maildev_domain: 'maildev.example.com'
|
2022-11-25 16:52:19 +01:00
|
|
|
|
2023-09-04 16:28:09 +02:00
|
|
|
redisinsight_domain: 'redisinsight.example.com'
|
2022-11-25 16:52:19 +01:00
|
|
|
redisinsight_whitelist:
|
|
|
|
- 192.168.1.0/24
|
|
|
|
- 31.15.24.XX
|
|
|
|
- 37.58.179.XX
|
2023-09-04 16:28:09 +02:00
|
|
|
|
|
|
|
gitlab_version: 'latest'
|
|
|
|
gitlab_root_password: 'vault-this-thingy'
|
|
|
|
gitlab_domain: gitlab.example.com
|
|
|
|
gitlab_registry_domain: registry.example.com
|
2022-08-05 21:06:11 +02:00
|
|
|
```
|
2022-08-05 20:59:55 +02:00
|
|
|
|
|
|
|
TODO
|
|
|
|
----
|
|
|
|
|
2022-08-05 21:08:04 +02:00
|
|
|
- Traefik
|
|
|
|
- add variables for basic auth in templates
|
|
|
|
- choose between global auth vs service auth
|
|
|
|
- Grafana
|
|
|
|
- Handle providers
|
|
|
|
- Handle custom dashboards
|
|
|
|
- Permit anonymous login and user login
|
|
|
|
- OpenVPN
|
|
|
|
- needs to be implemented
|
|
|
|
- SSHPortal
|
|
|
|
- needs to be implemented
|
|
|
|
- Loki
|
|
|
|
- needs to be implemented
|
|
|
|
- Promtail
|
|
|
|
- needs to be implemented
|
|
|
|
- Gitlab
|
|
|
|
- needs to be implemented
|
2022-08-05 21:06:11 +02:00
|
|
|
|
2022-08-05 20:59:55 +02:00
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
MIT Modern
|
|
|
|
|
|
|
|
Author Information
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Written by Ludovic Cartier <ludovic.cartier@brainsys.io>
|