moismailzai.protonmail_bridge_headless
Ansible Role: ProtonMail Bridge (ヘッドレス)
ProtonMail Bridgeをインストールし(必要に応じて2FAの入力を要求)、ヘッドレスサービスとして登録し、Postfixを使用するように設定します。RedHat/CentOS、Debian/Ubuntu、Archlinuxサーバーをサポートしています。
概要
Linux用のProtonMail Bridgeアプリは、ProtonMailアカウントをThunderbirdやEvolutionなどのIMAPおよびSMTPメールプログラムと統合することを可能にします。Bridgeは、有料サブスクリプションを持つすべてのProtonMailユーザーが利用できます。
このロールの目的は、GUIのないヘッドレスマシンで使用できるように、Bridgeのインストールを自動化することです。
具体的には、このロールは次のことを行います:
- Bridgeの最新バージョンをダウンロードします
- パッケージが正しく署名されていることを確認します
- ユーザー情報でBridgeを設定します
- Bridgeをバックグラウンドで実行し続けるサービスを作成します
- サービスを実行するためのロックされたユーザーを作成します
- Bridgeと一緒に使用するためにPostfixを設定します(SASL)
- RHELシステムで、(オプションとして)SELinuxコンテキストを設定します
要件
RedHat/CentOS 8、Ubuntu 18以降、または最新のDebian、Archlinux、Manjaroシステムが必要です。
ロール変数
使用可能な変数は以下にリストされています。デフォルト値も記載されています(defaults/main.yml
を参照):
protonmail_username: ""
protonmail_password: ""
protonmail_custom_domain: ""
protonmail_enable_2fa: false
これらはProtonMail-bridgeにアカウントを追加し、Postfixを設定するために使用されます。注: protonmail_enable_2fa
がtrue
に設定されている場合、このロールは対話的に実行され、2FAコードの入力を求められます。
# configure_selinux: ""
SELinuxを設定するかどうか。RHELシステムではデフォルトでtrue、それ以外ではfalseです。
gpg_key_settings:
type: default
length: default
subkey_type: default
subkey_length: default
expire_date: 0
name: protonmail-bridge-headless service key
email: root@localhost
これらの設定はローカルGPGキーを作成するために使用されます。キーはProtonMail Bridgeとpass
の通信に必要です。追加の変更はtemplates/protonmail-bridge.gpg.j2
ファイルで行うことができます。注: デフォルト設定では、Bridge専用の新しい保護されていないキーが生成されます。キーのパスワードを追加するには、デフォルト値を変更し、templates/protonmail-bridge-headless.service.sh.j2
も修正する必要があります。
configure_gpg: "true"
configure_pass: "true"
configure_postfix: "true"
configure_service: "true"
configure_user: "true"
このロール内のタスクをスキップするために使用できます。
protonmail_lib_dir: "/var/lib/protonmail"
構成およびサービスファイルを保存する場所。
protonmail_user: "protonmail"
protonmail_user_flags: "-L"
サービスユーザーの名前とフラグ。
postfix_hostname: "{{ protonmail_custom_domain }}"
postfix_localhost_address: "127.0.0.1"
main.cf
で上書きできる設定。
selinux_httpd_can_sendmail: "true"
Postfix設定時にhttpd用のselinuxポリシーを追加するかどうか。
依存関係
有料のProtonMailアカウント。
使用例
最初に、Ansibleの最新バージョンをインストールします:
Archlinux:
sudo pacman -Syu ansible
RHEL:
sudo dnf -y install epel-release
sudo dnf repolist
sudo dnf -y install ansible
Debian:
sudo apt update
sudo apt install -y software-properties-common
sudo apt-add-repository -y -u ppa:ansible/ansible
sudo apt install -y ansible
その後、main.yml
というファイルを作成し、以下を追加します(your_username
、your_password
、your_domain
を実際の値に置き換えます):
- name: "プロトンメールブリッジをヘッドレスサービスとしてインストールおよび設定する"
become: "yes"
hosts: "all"
vars:
protonmail_username: "your_username"
protonmail_password: "your_password"
protonmail_custom_domain: "your_domain"
roles:
- "moismailzai.protonmail_bridge_headless"
次に、同じディレクトリのコマンドラインから以下を実行します:
# このロールをAnsible Galaxyからインストールします
ansible-galaxy install moismailzai.protonmail_bridge_headless
# ダウンロードしたロールがAnsibleで見つかることを確認します
ln -s ~/.ansible/roles roles
# 前のステップで作成したプレイブックを実行します
sudo ansible-playbook -c local -i localhost, main.yml
プロセスが完了したら、コマンドラインからテストメッセージを自分に送信します:
echo "これが表示されている場合、ブリッジは正しく構成されています。" | mail -s "ProtonMail-bridge テストメッセージ" -r your@email.address recipients@email.address
ライセンス
MIT
作成者情報
このロールは2021年にMo Ismailzaiによって作成されました。
Installs the ProtonMail bridge (optionally prompting for 2FA), registers it as a headless service, and configures Postfix to use it.
ansible-galaxy install moismailzai.protonmail_bridge_headless