salessandri.ghost

Ghost

Ce rôle configure un blog Ghost en utilisant l'image Ghost de la communauté Docker.

Exigences

Ce rôle nécessite que docker soit disponible sur l'hôte et le module docker_container d'Ansible soit présent.

Pour couvrir la première exigence, le rôle geerlingguy.docker peut être utilisé.

Pour gérer les dépendances du module docker_container, le rôle geerlingguy.pip peut être utilisé pour installer le package docker de Python.

Variables du rôle

  • ghost__host (obligatoire, défaut : localhost) : Cette variable a 2 usages principaux : elle définit l'URL du blog et est utilisée pour définir le nom du conteneur. L'URL sera définie comme https://{{ ghost__host }}, tandis que le nom du conteneur est généré en remplaçant les points de la variable par des underscores et en ajoutant ghost_ devant.
  • ghost__version (optionnel, défaut : 5.85.1) : Tag de l'image Docker de Ghost à utiliser dans le conteneur. Voir les tags d'image Ghost sur Docker Hub.
  • ghost__base_dir (optionnel, défaut : /var/ghost-blog) : Dossier où seront stockés les fichiers persistants du blog.
  • ghost__blog_name (optionnel, défaut : Ghost Blog) : Nom pour référencer une instance particulière du rôle dans Ansible. N'a aucun effet sémantique sur le service.
  • ghost__listen_host (optionnel, défaut : 127.0.0.1) : Adresse où le conteneur publiera le socket du blog.
  • ghost__listen_port (optionnel, défaut : 2368) : Port où le conteneur publiera le port du blog.
  • ghost__configs (optionnel, défaut : {}): Dictionnaire de configurations à passer au conteneur en tant que variables d'environnement. Voir la documentation de configuration de Ghost pour toutes les valeurs possibles et spécifiquement ici pour savoir comment convertir les clés en variables d'environnement.

Suggestions

Il est recommandé de ne pas exposer directement le port de Ghost au monde extérieur, mais plutôt d'utiliser un proxy inverse tel que Nginx pour rediriger le trafic approprié.

Cela permet de faciliter la configuration TLS et de partager le port HTTPS parmi plusieurs applications.

Exemple de Playbook

Voici un exemple d'utilisation courante du rôle :

- host: my-blog.my-domain.com
  roles:
    - role: salessandri.ghost
      vars:
        ghost__host: my-blog.my-domain.com
        ghost__base_dir: /var/my-blog
        ghost__blog_name: Blog Personnel
        ghost__configs:
          mail__from: '"Mon Email de Blog" <[email protected]>'
          mail__transport: 'SMTP'
          mail__options__host: smtp.my-domain.com
          mail__options__port: 465
          mail__options__secureConnection: true
          mail__options__auth__user: blog_mail_user
          mail__options__auth__pass: '{{ blog_mail_password_vault }}'

Licence

MIT

Informations sur l'auteur

Ce rôle a été créé en 2020 par Santiago Alessandri.

À propos du projet

Setup a ghost blog using docker container

Installer
ansible-galaxy install salessandri.ghost
Licence
mit
Téléchargements
148
Propriétaire