protonmail_bridge_headless
Ansible Роль: ProtonMail Bridge (бездефолтный)
Устанавливает ProtonMail Bridge (по желанию с запросом 2FA), регистрирует его как бездействующий сервис и настраивает Postfix для его использования. Поддерживает серверы RedHat/CentOS, Debian/Ubuntu и Archlinux.
Общая информация
Приложение ProtonMail Bridge для Linux позволяет интегрировать вашу учетную запись ProtonMail с программами для электронной почты IMAP и SMTP, такими как Thunderbird и Evolution. Бридж доступен всем пользователям ProtonMail с платной подпиской.
Цель этой роли — автоматизировать установку бриджа так, чтобы его можно было использовать на бездействующей машине без графического интерфейса.
В частности, эта роль:
- загружает последнюю версию бриджа
- проверяет, что пакет правильно подписан перед установкой
- настраивает бридж с вашей пользовательской информацией
- создает сервис для работы бриджа в фоновом режиме
- создает заблокированного пользователя для запуска сервиса
- настраивает 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 и домен. Они используются для добавления вашей учетной записи в ProtonMail Bridge и для настройки
Postfix. ПРИМЕЧАНИЕ: если protonmail_enable_2fa
установлен на true
, эта роль будет выполняться интерактивно и запросит у вас
код 2FA.
# configure_selinux: ""
Следует ли настраивать SELinux. По умолчанию true для систем RHEL и 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
. ПРИМЕЧАНИЕ: значения по умолчанию создают новый незашифрованный ключ, который будет использоваться исключительно для бриджа. Чтобы добавить пароль к ключу, вам нужно изменить значения по умолчанию, а также 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"
Следует ли добавлять политики selinux для httpd при настройке Postfix.
Зависимости
Платный аккаунт 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: "установить и настроить protonmail-bridge как бездействующий сервис"
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 [email protected] [email protected]
Лицензия
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/ansible-role-protonmail-bridge-headless