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 als https://{{ ghost__host }} definiert, während der Name des Containers generiert wird, indem die Punkte der Variablen in Unterstriche umgewandelt und ghost_ 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.

Über das Projekt

Setup a ghost blog using docker container

Installieren
ansible-galaxy install salessandri.ghost
GitHub Repository
Lizenz
mit
Downloads
148