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 commehttps://{{ 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 ajoutantghost_
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.
ansible-galaxy install salessandri.ghost