nginx-in-docker
Ansible роль для настройки и запуска сервера Nginx в контейнере Docker.
Эта роль позволит вам установить сервер Nginx на своем узле Docker. С конфигурацией SSL/TLS для Nginx по умолчанию для рейтинга "A+" в Qualys SSL Labs.
Требования
Эта роль требует Ansible версии 2.5 или выше.
Переменные роли
Параметры пакета:
nginx_global_config
Шаблон для глобального конфигурационного файла.
nginx_allow
Список IP-адресов, которым разрешен доступ к серверу.
nginx_dir
Основной каталог Nginx. (по умолчанию: /tmp/nginx)
nginx_htpasswd
Список htpasswd.
nginx_openssl_dhparam_numbits
Количество бит для генерации сертификата dhparam. (по умолчанию: 4096)
Параметры контейнера
Параметры для запуска docker-контейнера. По умолчанию:
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
Добавление роли в проект:
Добавьте роль в ваши требования (например, requirements.yml):
- src: https://github.com/lexa-uw/ansible-role-nginx-in-docker
version: v2.0.0
name: nginx
Установка роли: ansible-galaxy install -r ./requirements.yml --roles-path ./roles/
Пример плейбука:
- hosts: all
vars_files:
- vars/main.yml
roles:
- { role: nginx }
Внутри 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/ansible-role-nginx-in-docker