nginx_docker

Nginx-docker для Ansible

Интеграция Качество Скачивания Роль

Используйте Ansible для развертывания проектов Docker на Nginx с поддержкой или без поддержки https. Эта роль не важна, на каком языке вы написали ваше приложение. Она создана для использования с инструментами непрерывной интеграции и непрерывного развертывания.

Особенности

  • Создаёт или использует предварительно собранный образ Docker
  • Не требует Docker реестра
  • Настраивает https через nginx_project
  • Автоматически заменяет старые версии через project_name

Предварительные требования

  • Целевой пользователь с правами на конфигурацию nginx
  • Целевой пользователь с правами на запуск docker

Установка

ansible-galaxy install practical-ansible.nginx_docker

Пример playbook

Вот самый стандартный playbook

---
- name: Развертывание в тестовый контейнер Docker
  hosts: all
  roles:
    - role: practical-ansible.nginx_docker
      vars:
        admin_email: '[email protected]'
        image_local: 'test_app.tar'
        project_port: '3000'
        project_name: 'my-app'
        project_version: '0.1.0'
        server_names: 'localhost,www.localhost'
        use_ssl: true
        env:
          print_this: 'Тестирование развертывания: X Æ A-12'

Вы можете найти больше примеров в директории tests.

Пример CI

Существуют еще несколько примеров конфигурации.

Справочное руководство

Используйте это, чтобы избежать синдрома выгорания при развертывании вашего приложения, упакованного в Docker, на nginx.

Оглавление


Переменные по умолчанию

client_max_body_size

Максимальный размер загружаемого файла для Nginx. Значение, определяемое документацией nginx

Значение по умолчанию

client_max_body_size: 1M

env

Словарь переменных окружения, которые будут переданы в контейнер Docker.

Значение по умолчанию

env:
  nginx_docker: yes

Пример использования

env:
  PORT: 80
  SECRET_TOKEN: xa2z3ik6

image_local

Путь к извлечённому образу Docker. Если пусто, роль попытается собрать образ на локальном хосте перед загрузкой на удалённый. Ожидает, что Dockerfile будет находиться в той же директории, что и playbook.

Значение по умолчанию

image_local: ''

Пример использования

image: './dist/my-app.tar'

image_name

Имя образа, который будет загружен из репозитория Docker.

Значение по умолчанию

image_name: ''

Пример использования

image: 'requarks/wiki'

network_name

Имя сети Docker, используемой этим контейнером. Роль создаст её при необходимости.

Значение по умолчанию

network_name: practical-ansible

Пример использования

network_name: 'totally-separated-network'

project_port

Внутренний номер порта контейнера. Роль свяжет этот порт из Docker с прокси nginx.

Значение по умолчанию

project_port: 80

Пример использования

project_port: 3000

Зависимости

  • {'role': 'practical-ansible.nginx_project'}

Лицензия

MIT

Автор

Павел Жак

О проекте

Deploy your Docker project to Nginx with minimal config

Установить
ansible-galaxy install practical-ansible/nginx-docker
Лицензия
mit
Загрузки
650
Владелец
Tiny Ansible roles and playbooks that help you with web hosting in a world of VPS