salessandri.ghost

Ghost

この役割は、ドッカーコミュニティの Ghostイメージ を使用して Ghostブログ をセットアップします。

要件

この役割は、ホストに docker が存在し、Ansibleの docker_container モジュール が使えることに依存しています。

最初の要件を満たすために、 geerlingguy.docker 役割 を使用できます。

docker_container モジュールの依存関係を満たすために、Pythonの docker パッケージ をインストールするための geerlingguy.pip 役割 を使用できます。

役割の変数

  • ghost__host (必須, デフォルト: localhost): この変数は主に2つの使用があります: ブログのURLを定義し、コンテナの名前を定義するためにも使います。 URLは https://{{ ghost__host }} として定義され、コンテナの名前は変数のドットをアンダースコアに変換して ghost_ を前に付けて生成されます。
  • ghost__version (オプション, デフォルト: 5.85.1): コンテナで使用するGhostのドッカーイメージタグ。 DockerhubのGhostイメージタグを参照してください。
  • ghost__base_dir (オプション, デフォルト: /var/ghost-blog): ブログの永続ファイルを設定するフォルダーのパス。
  • ghost__blog_name (オプション, デフォルト: Ghost Blog): Ansible内でこの役割の特定のインスタンスを参照するための名前。サービスに対して意味的な影響はありません。
  • ghost__listen_host (オプション, デフォルト: 127.0.0.1): コンテナがブログのソケットを公開するアドレス。
  • ghost__listen_port (オプション, デフォルト: 2368): コンテナがブログのポートを公開するポート。
  • ghost__configs (オプション, デフォルト: {}): 環境変数としてコンテナに渡す設定の辞書。すべての可能な値については Ghostの設定ドキュメント を、特に環境変数に変換する方法については ここ を参照してください。

提案

Ghostのポートを直接公開せず、nginxなどのリバースプロキシを使用して適切なトラフィックを転送することを推奨します。

これにより、TLSの設定が簡単になり、複数のアプリケーション間でHTTPSポートを共有できます。

例のプレイブック

以下は、一般的な役割の使用例です:

- 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: Personal Blog
        ghost__configs:
          mail__from: '"My Blog Email" <[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 }}'

ライセンス

MIT

著者情報

この役割は2020年に Santiago Alessandri によって作成されました。

プロジェクトについて

Setup a ghost blog using docker container

インストール
ansible-galaxy install salessandri.ghost
ライセンス
mit
ダウンロード
148