bitwarden

Ansible Роль: Bitwarden

CI

Развертывание Bitwarden с помощью Docker и Docker-Compose, используя bitwarden.sh.

Эта роль является автоматизированной оберткой вокруг скриптов настройки Bitwarden. Она активно использует обработчики для запуска задач настройки и обновлений.

Если вам нужна какая-либо задача, не охваченная этой ролью, вы можете напрямую использовать скрипт настройки на машине. Используйте официальную документацию как справочник: https://bitwarden.com/help/article/install-on-premise/

Использование

Добавьте роль в свой плейбук:

    - hosts: server
      roles:
        - { role: breuninger.bitwarden }

Известные проблемы

Certbot

В настоящее время мы поддерживаем только статические TLS сертификаты для Nginx. Интеграция с Certbot не настроена. Вы можете добавить эту функцию в качестве PR, если это необходимо.

Версия Bitwarden

Версия Bitwarden в файлах настройки отличается от версии, указанной в тэге репозитория. Это связано с их стратегией выпуска, при которой фактическая версия увеличивается только в основной ветке. Мы уже ведем переговоры с Bitwarden и надеемся на другой способ выпуска.

Режимы SSL

Скрипт установки Bitwarden позволяет настраивать SSL четырьмя различными способами: пользовательский SSL сертификат, сертификат SSL, созданный Let's Encrypt, самоподписанный сертификат, сгенерированный контейнером установки, и отсутствие SSL (не рекомендуется для обычных установок).

Пользовательский

Для сохранения обратной совместимости этот режим является значением по умолчанию для этой роли. Хотя скрипт установки Bitwarden позволяет использовать неподписанные сертификаты, эта роль требует, чтобы сертификат был доверенным (подписанным ЦС, а не самоподписанным).

- hosts: server
  roles:
    - role: breuninger.bitwarden
      vars:
        bitwarden_ssl_mode: provided
        bitwarden_nginx_cert_path: /path/to/ssl/cert
        bitwarden_nginx_key_path: /path/to/ssl/key

Если требуется использование неподписанного сертификата, это можно добавить с новым ssl_mode и соответствующими параметрами в defaults/main.yml.

Let's Encrypt

Используйте интеграцию SSL Certbot, которая идет с скриптом установки Bitwarden.

- hosts: server
  roles:
    - role: breuninger.bitwarden
      vars:
          bitwarden_ssl_mode: lets_encrypt
          bitwarden_lets_encrypt_email: [email protected]

Сгенерированный самоподписанный

Скрипт установки Bitwarden позволяет генерировать самоподписанный SSL сертификат для использования SSL, но из недоверенного источника. Два вышеперечисленных метода лучше подходят для запуска Bitwarden в производственной среде. Пожалуйста, выберите один из них, вместо того, чтобы использовать этот вариант, если это совершенно необходимо.

- hosts: server
  roles:
    - role: breuninger.bitwarden
      vars:
        bitwarden_ssl_mode: generate

Без SSL

Пожалуйста, внимательно рассмотрите ваш случай использования перед выбором этой опции. Один из законных случаев использования — это завершение SSL на обратном прокси.

- hosts: server
  roles:
    - role: breuninger.bitwarden
      vars:
        bitwarden_ssl_mode: disable

Установите и настройте Bitwarden локально в стиле docker-compose.

Содержание


Переменные по умолчанию

bitwarden_domain_name

Доменное имя, используемое для Bitwarden

Значение по умолчанию

bitwarden_domain_name: localhost

bitwarden_global_env

Карта глобальных переменных окружения Bitwarden. Каждое значение соответствует global.override.env. См. https://bitwarden.com/help/article/environment-variables/

Значение по умолчанию

bitwarden_global_env: {}

Пример использования

bitwarden_global_env:
  globalSettings__mail__smtp__host: localhost
  globalSettings__mail__smtp__port: 25

bitwarden_lets_encrpyt_email

Email-аккаунт Let's Encrypt, если bitwarden_ssl_mode установлен на "lets_encrypt".

bitwarden_lets_encrypt_email

Значение по умолчанию

bitwarden_lets_encrypt_email:

bitwarden_nginx_cert_path

Путь к файлу сертификата, используемого для контейнера Nginx (обязателен, если bitwarden_ssl_mode == "provided"). Пользователь роли отвечает за предоставление действительного файла сертификата. Файл копируется из указанного места в домашнюю директорию Bitwarden для обеспечения корректного отображения внутри контейнера.

Значение по умолчанию

bitwarden_nginx_cert_path:

bitwarden_nginx_key_path

Путь к файлу ключа для контейнера Nginx (обязателен, если bitwarden_ssl_mode == "provided"). Пользователь роли отвечает за предоставление действительного файла ключа. Файл копируется из указанного места в домашнюю директорию Bitwarden для обеспечения корректного отображения внутри контейнера.

Значение по умолчанию

bitwarden_nginx_key_path:

bitwarden_region

Регион, используемый для Bitwarden. Опции: US, EU

Значение по умолчанию

bitwarden_region: US

bitwarden_script_version

Значение по умолчанию

bitwarden_script_version: v2023.12.0

bitwarden_setup_config

Карта значений конфигурации установки Bitwarden для переопределения. Используйте это для изменения значений в сгенерированном config.yml файле от Bitwarden.

Значение по умолчанию

bitwarden_setup_config: {}

Пример использования

bitwarden_setup_config:
  database_docker_volume: true

bitwarden_ssl_mode

Значение по умолчанию

bitwarden_ssl_mode: provided

bitwarden_ssl_provider

Указывает режим SSL для настройки установки. Опции: provided, generate, lets_encrypt, disable

bitwarden_test_install_script

Флаг для отключения загрузки скрипта bitwarden.sh. Используется в случаях, когда требуется протестировать режим ssl Let's Encrypt без боязни достигнуть лимита Let's Encrypt. Или для тестирования изменений в скриптах bitwarden.sh или run.sh. Надеемся, что этот флаг можно будет добавить в скрипт bitwarden.sh в будущем, а не использовать здесь.

Значение по умолчанию

bitwarden_test_install_script: false

Зависимости

Нет.

Лицензия

MIT

Автор

Operations Core Toolig ops-core-tooling@breuninger.de

О проекте

Install and configure bitwarden on premise in docker-compose fashion.

Установить
ansible-galaxy install e-breuninger/ansible-role-bitwarden
Лицензия
mit
Загрузки
101
Владелец
Wir bei Breuninger erfinden uns immer wieder neu. Nur so können wir Menschen jeden Tag aufs Neue für Mode und Lifestyle begeistern.