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 によって作成されました。
インストール
ansible-galaxy install salessandri.ghost
ライセンス
mit
ダウンロード
148