moismailzai.protonmail_bridge_headless
Ansible-Rolle: ProtonMail Bridge (headless)
Installiert die ProtonMail Bridge (optional mit Anfrage für 2FA), registriert sie als headless Dienst und konfiguriert Postfix zur Nutzung. Unterstützt RedHat/CentOS, Debian/Ubuntu und Archlinux Server.
Hintergrund
Die ProtonMail Bridge App für Linux ermöglicht es Ihnen, Ihr ProtonMail-Konto mit IMAP- und SMTP-E-Mail-Programmen wie Thunderbird und Evolution zu integrieren. Die Bridge steht allen ProtonMail-Nutzern mit einem kostenpflichtigen Abonnement zur Verfügung.
Ziel dieser Rolle ist es, die Installation der Bridge zu automatisieren, so dass sie auf einem headless Rechner ohne GUI verwendet werden kann.
Konkret wird diese Rolle:
- die neueste Version der Bridge herunterladen
- sicherstellen, dass das Paket korrekt signiert ist, bevor es installiert wird
- die Bridge mit Ihren Benutzerinformationen konfigurieren
- einen Dienst erstellen, der die Bridge im Hintergrund laufen lässt
- einen gesperrten Benutzer erstellen, um den Dienst auszuführen
- Postfix für die Nutzung mit der Bridge konfigurieren (SASL)
- auf RHEL-Systemen (oder optional) die SELinux-Kontexte konfigurieren
Anforderungen
Benötigt RedHat/CentOS 8, Ubuntu 18 oder höher oder ein aktuelles Debian-, Archlinux- oder Manjaro-System.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
protonmail_username: ""
protonmail_password: ""
protonmail_custom_domain: ""
protonmail_enable_2fa: false
Ihre ProtonMail-Anmeldeinformationen und Domain. Diese werden verwendet, um Ihr Konto zur ProtonMail-Bridge hinzuzufügen und Postfix zu konfigurieren. HINWEIS: Wenn protonmail_enable_2fa
auf true
gesetzt ist, wird diese Rolle interaktiv ausgeführt und Sie werden nach einem 2FA-Code gefragt.
# configure_selinux: ""
Ob SELinux konfiguriert werden soll. Standardmäßig auf RHEL-Systemen auf true und sonst auf 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
Diese Einstellungen werden verwendet, um einen lokalen GPG-Schlüssel zu erstellen. Der Schlüssel ist erforderlich, damit die ProtonMail-Bridge und pass
kommunizieren können. Zusätzliche Änderungen können in der Datei templates/protonmail-bridge.gpg.j2
vorgenommen werden. HINWEIS: Die Standardeinstellungen erzeugen einen neuen ungeschützten Schlüssel, der ausschließlich für die Bridge verwendet werden soll. Um ein Passwort für den Schlüssel hinzuzufügen, müssen Sie die Standardwerte sowie templates/protonmail-bridge-headless.service.sh.j2
ändern.
configure_gpg: "true"
configure_pass: "true"
configure_postfix: "true"
configure_service: "true"
configure_user: "true"
Kann verwendet werden, um Aufgaben in dieser Rolle zu überspringen.
protonmail_lib_dir: "/var/lib/protonmail"
Der Ort, an dem Konfigurations- und Dienstdateien gespeichert werden.
protonmail_user: "protonmail"
protonmail_user_flags: "-L"
Der Name und die Flags des Dienstbenutzers.
postfix_hostname: "{{ protonmail_custom_domain }}"
postfix_localhost_address: "127.0.0.1"
Einstellungen, die Sie in main.cf
überschreiben können.
selinux_httpd_can_sendmail: "true"
Ob SELinux-Richtlinien für httpd hinzugefügt werden sollen, wenn Postfix konfiguriert wird.
Abhängigkeiten
Ein kostenpflichtiger ProtonMail-Account.
Beispielverwendung
Zuerst installieren Sie eine aktuelle Version von 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
Dann erstellen Sie eine Datei namens main.yml
und fügen Sie das Folgende hinzu (ersetzen Sie your_username
, your_password
und your_domain
durch die tatsächlichen Werte):
- name: "installiere und konfiguriere die protonmail-bridge als headless Dienst"
become: "yes"
hosts: "all"
vars:
protonmail_username: "your_username"
protonmail_password: "your_password"
protonmail_custom_domain: "your_domain"
roles:
- "moismailzai.protonmail_bridge_headless"
Führen Sie dann von der Befehlszeile im selben Verzeichnis Folgendes aus:
# installiert diese Rolle von Ansible Galaxy
ansible-galaxy install moismailzai.protonmail_bridge_headless
# stellt sicher, dass Ansible die gerade heruntergeladene Rolle finden kann
ln -s ~/.ansible/roles roles
# führt das Playbook aus, das Sie im vorherigen Schritt erstellt haben
sudo ansible-playbook -c local -i localhost, main.yml
Sobald der Prozess abgeschlossen ist, senden Sie sich eine Testnachricht von der Befehlszeile:
echo "Wenn Sie dies sehen, wurde die Bridge korrekt konfiguriert." | mail -s "ProtonMail-Bridge Testnachricht" -r your@email.address recipients@email.address
Lizenz
MIT
Autorinformationen
Diese Rolle wurde 2021 von Mo Ismailzai erstellt.
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