lexa-uw.nginx-in-docker
Rôle Ansible pour configurer et exécuter un serveur Nginx dans un conteneur Docker.
Ce rôle vous permettra d'installer un serveur Nginx sur votre propre nœud Docker. Avec la configuration SSL/TLS par défaut pour obtenir une note "A+" sur Qualys SSL Labs.
Exigences
Ce rôle nécessite Ansible 2.5 ou une version plus récente.
Variables du rôle
Options de package :
nginx_global_config
Modèle pour le fichier de configuration global.
nginx_allow
Liste des adresses IP autorisées à accéder au serveur.
nginx_dir
Répertoire de base de Nginx. (par défaut : /tmp/nginx)
nginx_htpasswd
Liste des htpasswd.
nginx_openssl_dhparam_numbits
Nombre de bits pour générer le certificat dhparam. (par défaut : 4096)
Options de conteneur
Options pour exécuter le conteneur docker. Par défaut :
nginx_container_command: []
nginx_container_env: {}
nginx_container_image: "nginx:alpine"
nginx_container_log_driver: "json-file"
nginx_container_name: "nginx"
nginx_container_network_mode: bridge
nginx_container_networks: []
nginx_container_pull: "yes"
nginx_container_recreate: "no"
nginx_container_restart_policy: "always"
nginx_container_restart: "no"
nginx_container_state: "started"
nginx_container_volumes: []
nginx_container_log_options: {
labels: "{{ nginx_container_name }}",
}
nginx_container_ports:
- 443:443
- 80:80
Ajouter le rôle au projet :
Ajoutez le rôle dans vos exigences (requirements.yml par exemple) :
- src: https://github.com/lexa-uw/ansible-role-nginx-in-docker
version: v2.0.0
name: nginx
Installer le rôle : ansible-galaxy install -r ./requirements.yml --roles-path ./roles/
Exemple de playbook :
- hosts: all
vars_files:
- vars/main.yml
roles:
- { role: nginx }
À l'intérieur de vars/main.yml
nginx_allow:
- "127.0.0.1"
- "1.1.1.1"
nginx_dir: "{{ansible_env.PWD}}/docker/nginx"
nginx_htpasswd:
- "admin:$apr1nuGQ0aW41nBe8nisbHRz4JZ9vq43u"
nginx_openssl_dhparam_numbits: 4096
nginx_container_image: "nginx:1.15.9-alpine"
nginx_container_name: "nginx"
nginx_container_network_mode: "host"
nginx_container_ports: []