vaultwarden

Vaultwarden

Эта роль раньше называлась dmaes.bitwardenrs и dmaes.vaultwarden

Так как проект Bitwarden_RS изменил название на Vaultwarden, эта роль тоже изменила название (см. #12 для более подробной информации). Для этого изменения мы изменили всё с bitwardenrs на vaultwarden (переменные, используемые в коде ansible, а также директории, пользователь, служба systemd и т. д.) При переключении:

  • Остановите старую службу bitwarden_rs
  • Сделайте резервную копию файлов и базы данных на всякий случай
  • Обновите ваш код ansible, чтобы он работал с новой ролью
  • Укажите vaultwarden_directory на старую директорию или переместите данные в новую по умолчанию (/opt/vaultwarden). Также обратите внимание на vaultwarden_datadir, если вы используете свою директорию.
  • Новый пользователь vaultwarden должен получить такие же права на базу данных, как ваш предыдущий пользователь bitwardenrs
    • для postgres:
      • su - postgres
      • psql
      • postgres-# GRANT bitwardenrs TO vaultwarden;
  • Запустите ansible, это создаст всё под новым именем (пользователь и служба, но не директория)
  • Удалите старого пользователя, службу (и, возможно, (данные) директорию)

Статус сборки

Устанавливает и настраивает Vaultwarden (без Docker).

Тестировалось только на Rocky linux 9

Требования

  • Требования для модуля unarchive
  • Требования для модуля package
  • wget или curl
  • jinja => v2.11
  • Systemd (опционально)

Не менее 1 ГБ ОЗУ (рекомендуется 2 ГБ), компилятор rustc будет компилировать bitwarden на вашем хосте, что требует много памяти. Возможные симптомы нехватки ОЗУ: Memory cgroup out of memory: Killed process 709453 (rustc) total-vm:2668356kB, anon-rss:955680kB, file-rss:0kB, shmem-rss:0kB, UID:996 pgtables:4516kB oom_score_adj:0

Переменные роли

Переменная Описание Значение по умолчанию
vaultwarden_directory Где установить Vaultwarden /opt/vaultwarden
vaultwarden_version Какую версию установить latest
vaultwarden_webvault Установить патченный веб-интерфейс true
vaultwarden_webvault_version Версия веб-интерфейса для установки (это будет игнорироваться, если версия vaultwarden установлена на latest, будет установлена соответствующая последняя версия веб-интерфейса) Это версия без префикса 'v' 2022.12.0
vaultwarden_build_backend Тип базы данных, для которой будет скомпилировано зависит от версии vaultwarden(*)
vaultwarden_force_recompile Принудительно перекомпилировать бинарный файл, (например, если вы сменили бекенд на том же сервере) false
vaultwarden_config Переменные окружения ключ-значение для файла Vaultwarden .env { DOMAIN: "https://{{ ansible_fqdn }}/" }
vaultwarden_datadir Директория данных Vaultwarden (не настраивает, только создаёт и используется, например, для ключей) {{ vaultwarden_directory }}/data
vaultwarden_encryption_key RSA-ключ для шифрования (содержимое, а не файл), пустая строка, чтобы не копировать, Vaultwarden должен сгенерировать его, если он не существует ""
vaultwarden_force_encryption_key Принудительно изменить ключ шифрования, если он уже существует (ОПАСНО!) false
vaultwarden_systemd Управление службой systemd {{ ansible_service_mgr == 'systemd' }}
vaultwarden_required_service Заставить Systemd ждать другую службу перед запуском vaultwarden undefined
vaultwarden_proc_limit Указать LimitNPROC для файла службы systemd 128
(*)Начиная с vaultwarden_version: 1.17.0: по умолчанию sqlite,mysql,postgresql, до этого: по умолчанию sqlite

Пример плейбука

- hosts: servers
  vars:
    vaultwarden_configure: yes
    vaultwarden_port: "443"
    vaultwarden_build_backend: "sqlite,postgresql"
    vaultwarden_required_service: "postgresql.service"  # добавьте это, если postgresql начинает тормозить, это заставит systemd подождать
    admin_token: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      ...
    vaultwarden_config:
      DOMAIN: "https://example.com/"
      DOMAIN_PATH: "/vaultwarden"  # будет результатом https://example.com/vaultwarden/, должно начинаться со слэша '/'
      ADMIN_TOKEN: "{{ admin_token }}"
      DATABASE_URL: "postgresql:///vaultwarden?host=/run/postgresql/"
      SIGNUPS_ALLOWED: 'false'
      SIGNUPS_VERIFY: 'true'
      SIGNUPS_DOMAINS_WHITELIST: 'example.com'
      INVITATIONS_ALLOWED: 'true'
      SMTP_HOST: 'mail.example.com'
      SMTP_FROM: '[email protected]'
      SMTP_FROM_NAME: 'vaultwarden'
      ROCKET_ADDRESS: '0.0.0.0'
  roles:
    - jenstimmerman.vaultwarden

Лицензия

MIT

О проекте

Builds, installs and configures Vaultwarden (https://github.com/dani-garcia/vaultwarden) (without Docker)

Установить
ansible-galaxy install jenstimmerman/ansible-role-vaultwarden
Лицензия
mit
Загрузки
1257
Владелец