salessandri.ghost

fantasma

Este rol configura un blog de ghost utilizando la imagen de ghost de la comunidad de docker.

Requisitos

Este rol depende de que docker esté disponible en el host y del docker_container módulo de ansible.

Para cubrir el primero, se puede usar el geerlingguy.docker rol.

Para cubrir las dependencias del módulo docker_container, se puede usar el geerlingguy.pip rol para instalar el paquete docker de Python.

Variables del Rol

  • ghost__host (requerido, por defecto: localhost): El valor de esta variable tiene 2 usos principales: define la URL del blog y también se usa para definir el nombre del contenedor. La URL se definirá como https://{{ ghost__host }} mientras que el nombre del contenedor se genera convirtiendo los puntos de la variable en guiones bajos y anteponiendo ghost_ a ello.
  • ghost__version (opcional, por defecto: 5.85.1): etiqueta de la imagen de docker de ghost que se usará en el contenedor. Consulta las etiquetas de imagen de ghost en dockerhub.
  • ghost__base_dir (opcional, por defecto: /var/ghost-blog): carpeta donde configurar los archivos persistentes del blog.
  • ghost__blog_name (opcional, por defecto: Ghost Blog): Nombre para referirse a una instancia particular del rol dentro de Ansible. No tiene ningún efecto semántico en el servicio.
  • ghost__listen_host (opcional, por defecto: 127.0.0.1): Dirección donde el contenedor publicará el socket del blog.
  • ghost__listen_port (opcional, por defecto: 2368): Puerto donde el contenedor publicará el puerto del blog.
  • ghost__configs (opcional, por defecto: {}): Diccionario de configuraciones que se pasarán al contenedor como variables ambientales. Consulta la documentación de configuración de ghost para ver todos los valores posibles y específicamente aquí sobre cómo convertir las claves en variables ambientales.

Sugerencias

Se sugiere que no expongas el puerto de ghost directamente al mundo exterior, sino que uses un proxy inverso como nginx para redirigir el tráfico adecuado.

Esto permite una configuración de TLS más sencilla y el uso compartido del puerto HTTPS entre múltiples aplicaciones.

Ejemplo de Playbook

El siguiente sería un ejemplo de uso común del rol:

- host: mi-blog.mi-dominio.com
  roles:
    - role: salessandri.ghost
      vars:
        ghost__host: mi-blog.mi-dominio.com
        ghost__base_dir: /var/mi-blog
        ghost__blog_name: Blog Personal
        ghost__configs:
          mail__from: '"Correo de mi Blog" <[email protected]>'
          mail__transport: 'SMTP'
          mail__options__host: smtp.mi-dominio.com
          mail__options__port: 465
          mail__options__secureConnection: true
          mail__options__auth__user: usuario_correo_blog
          mail__options__auth__pass: '{{ blog_mail_password_vault }}'

Licencia

MIT

Información del Autor

Este rol fue creado en 2020 por Santiago Alessandri.

Acerca del proyecto

Setup a ghost blog using docker container

Instalar
ansible-galaxy install salessandri.ghost
Licencia
mit
Descargas
148
Propietario