salessandri.ghost
Ghost
Diese Rolle richtet einen Ghost-Blog mit dem Ghost-Image der Docker-Community ein.
Anforderungen
Diese Rolle setzt voraus, dass docker
auf dem Host verfügbar ist und das docker_container
Ansible-Modul in Ansible verwendet wird.
Um das erste zu erfüllen, kann die geerlingguy.docker
Rolle verwendet werden.
Um die Abhängigkeiten für das docker_container
Modul zu decken, kann die geerlingguy.pip
Rolle verwendet werden, um das docker
-Paket von Python zu installieren.
Rollenvariablen
ghost__host
(erforderlich, Standard: localhost): Der Wert dieser Variable hat zwei Hauptverwendungen: Er definiert die URL für den Blog und wird auch verwendet, um den Namen des Containers festzulegen. Die URL wird alshttps://{{ ghost__host }}
definiert, während der Name des Containers generiert wird, indem die Punkte der Variablen in Unterstriche umgewandelt undghost_
vorangestellt wird.ghost__version
(optional, Standard: 5.85.1): Tag des Ghost-Docker-Images, das im Container verwendet werden soll. Siehe Ghost-Image-Tags in Dockerhub.ghost__base_dir
(optional, Standard: /var/ghost-blog): Ordner, in dem die persistente Dateien des Blogs eingerichtet werden.ghost__blog_name
(optional, Standard: Ghost Blog): Name zur Bezugnahme auf eine bestimmte Instanz der Rolle innerhalb von Ansible. Hat keinen semantischen Einfluss auf den Dienst.ghost__listen_host
(optional, Standard: 127.0.0.1): Adresse, an der der Container den Socket des Blogs veröffentlicht.ghost__listen_port
(optional, Standard: 2368): Port, an dem der Container den Port des Blogs veröffentlicht.ghost__configs
(optional, Standard: {}): Wörterbuch von Konfigurationen, die als Umgebungsvariablen an den Container übergeben werden. Siehe Ghosts Konfigurationsdokumente für alle möglichen Werte und speziell hier für Informationen, wie die Schlüssel in Umgebungsvariablen umgewandelt werden.
Vorschläge
Es wird empfohlen, den Port von Ghost nicht direkt nach außen freizugeben, sondern einen Reverse Proxy wie Nginx zu verwenden, um den entsprechenden Datenverkehr weiterzuleiten.
Dies erleichtert die TLS-Konfiguration und die gemeinsame Nutzung des HTTPS-Ports zwischen mehreren Anwendungen.
Beispiel-Playbook
Das folgende wäre ein recht typisches Beispiel für die Verwendung der Rolle:
- 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: Persönlicher Blog
ghost__configs:
mail__from: '"Meine Blog-E-Mail" <[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 }}'
Lizenz
MIT
Autor Informationen
Diese Rolle wurde 2020 von Santiago Alessandri erstellt.
ansible-galaxy install salessandri.ghost