ansible-role-docker_traefik/README.md

73 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2024-11-12 12:05:12 +01:00
Role : docker_traefik
=====================
Configure un conteneur traefik sur un serveur préparé avec docker_host prêt à servir de reverse proxy local pour les applications web.
Prérequis et dépendances
------------------------
- Rôle : docker_host
Variables
---------
Le rôle nécessite que soit fourni le paramètre suivant :
```yaml
# Chaine user + mdp chiffré pour l'accès à l'interface de traefik sur le port 8443
docker_traefik_admin: "admin:$$apr1$$HWiac5ae$$fBaMfNze1G96R2d5ntiID/"
```
Les autres variables utilisables sont précisées ci-dessous (cf. defaults/main.yml) :
```yaml
# Liste des reverse proxy de confiance pour traefik, pour la récupération des entêtes http
docker_traefik_trusted_ips: []
# Chemin d'installation
docker_traefik_install_dir: /opt/traefik/
# Interface d'écoute pour les flux entrants
docker_traefik_listen_ip: "0.0.0.0"
# Interface d'écoute pour l'administration de traefik
docker_traefik_admin_listen_ip: "{{ docker_traefik_listen_ip }}"
# Port d'écoute pour les flux http
docker_traefik_web_port: 80
# Port d'écoute pour les flux https
docker_traefik_websecure_port: 443
# Port d'écoute pour l'interface d'administration'
docker_traefik_admin_port: 8443
```
Par exemple :
```yaml
2024-11-12 12:21:27 +01:00
docker_traefik_admin: "admin:$$apr1$$HWiac5ae$$fBaMfNze1G96R2d5ntiID/"
docker_traefik_trusted_ips: [ 10.1.2.3 ]
2024-11-12 12:05:12 +01:00
```
A noter : la valeur de docker_host_traefik_admin pour un compte d'accès "admin" avec mot de passe "4dm1n" s'obtient par :
```sh
echo $(htpasswd -nb admin 4dm1n) | sed -e s/\\$/\\$\\$/g
```
Exemple de Playbook
-------------------
Le rôle peut s'utiliser sans paramètre particulier sur un serveur préparé avec docker_host.
```yaml
- hosts: servers
vars:
2024-11-12 12:21:27 +01:00
docker_traefik_admin: "admin:$$apr1$$HWiac5ae$$fBaMfNze1G96R2d5ntiID/"
2024-11-12 12:05:12 +01:00
roles:
- docker_host
- docker_traefik
```
License
-------
MIT