lexa-uw.nginx-in-docker
Rola Ansible do konfiguracji i uruchomienia serwera Nginx w kontenerze Docker
Ta rola pozwala na zainstalowanie serwera Nginx na własnym węźle Docker. Domyślnie oferuje konfigurację SSL/TLS Nginx z oceną "A+" w Qualys SSL Labs.
Wymagania
Ta rola wymaga Ansible w wersji 2.5 lub wyższej.
Zmienne roli
Opcje pakietu:
nginx_global_config
Szablon dla globalnego pliku konfiguracyjnego.
nginx_allow
Lista adresów IP, które mają dostęp do serwera.
nginx_dir
Podstawowy katalog Nginx. (domyślnie: /tmp/nginx)
nginx_htpasswd
Lista haseł w formacie htpasswd.
nginx_openssl_dhparam_numbits
Liczba bitów do generowania certyfikatu dhparam. (domyślnie: 4096)
Opcje kontenera
Opcje do uruchomienia kontenera Docker. Domyślnie:
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
Dodanie roli do projektu:
Dodaj rolę do swojego pliku wymagań (np. requirements.yml):
- src: https://github.com/lexa-uw/ansible-role-nginx-in-docker
version: v2.0.0
name: nginx
Instalacja roli: ansible-galaxy install -r ./requirements.yml --roles-path ./roles/
Przykład playbooka:
- hosts: all
vars_files:
- vars/main.yml
roles:
- { role: nginx }
W pliku 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: []
ansible-galaxy install lexa-uw.nginx-in-docker