practical-ansible.nginx_docker

Nginx-docker para ansible

Integración Calidad Descargas Rol

Usa Ansible para desplegar proyectos de Docker en Nginx con o sin https. Este rol no se preocupa por el lenguaje que usaste para crear tu aplicación. Está creado para ser utilizado con herramientas de integración y despliegue continuo.

Características

  • Construye o utiliza una imagen de docker preconstruida
  • No requiere un registro de docker
  • Configura https a través de nginx_project
  • Reemplaza automáticamente versiones antiguas a través de project_name

Requisitos

  • Usuario objetivo con derechos para configurar nginx
  • Usuario objetivo con derechos para ejecutar docker

Instalación

ansible-galaxy install practical-ansible.nginx_docker

Ejemplo de playbook

Este sería el playbook más común

---
- name: Desplegar en contenedor Docker de prueba
  hosts: all
  roles:
    - role: practical-ansible.nginx_docker
      vars:
        admin_email: '[email protected]'
        image_local: 'test_app.tar'
        project_port: '3000'
        project_name: 'mi-aplicación'
        project_version: '0.1.0'
        server_names: 'localhost,www.localhost'
        use_ssl: true
        env:
          print_this: 'Prueba de despliegue: X Æ A-12'

Puedes encontrar más ejemplos en el directorio tests.

Ejemplo de CI

Hay más ejemplos de configuración.

Manual de referencia

Usa esto para evitar el Síndrome de Agotamiento al desplegar tu aplicación envuelta en Docker a nginx.

Índice


Variables por defecto

client_max_body_size

Tamaño máximo de archivo que se puede subir en Nginx. Valor definido por la documentación de nginx

Valor por defecto

client_max_body_size: 1M

env

Diccionario de variables de entorno que se pasarán al contenedor de docker.

Valor por defecto

env:
  nginx_docker: yes

Ejemplo de uso

env:
  PORT: 80
  SECRET_TOKEN: xa2z3ik6

image_local

Ruta a la imagen de docker extraída. Cuando está vacía, el rol intentará construir la imagen en el host local antes de subir la imagen al remoto. Se espera que el Dockerfile esté presente en el mismo directorio que el playbook.

Valor por defecto

image_local: ''

Ejemplo de uso

image: './dist/mi-aplicación.tar'

image_name

Nombre de la imagen que se extraerá del repositorio de docker.

Valor por defecto

image_name: ''

Ejemplo de uso

image: 'requarks/wiki'

network_name

Nombre de la red de docker usada por este contenedor. El rol la creará si es necesario.

Valor por defecto

network_name: practical-ansible

Ejemplo de uso

network_name: 'red-totalmente-separada'

project_port

Número de puerto interno del contenedor. El rol mapeará este puerto desde docker al proxy de nginx.

Valor por defecto

project_port: 80

Ejemplo de uso

project_port: 3000

Dependencias

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

Licencia

MIT

Autor

Pavel Žák

Acerca del proyecto

Deploy your Docker project to Nginx with minimal config

Instalar
ansible-galaxy install practical-ansible.nginx_docker
Licencia
mit
Descargas
660
Propietario
Tiny Ansible roles and playbooks that help you with web hosting in a world of VPS