vaultwarden

Vaultwarden

НЕ СОПРОВОДИМЫЙ

Эта роль больше не поддерживается, так как я перестал ее использовать. (Полностью переключился на другие инструменты).

Рекомендую использовать https://github.com/JensTimmerman/ansible-role-vaultwarden/ вместо этого!

ВАЖНО: Эта роль ранее называлась dmaes.bitwardenrs

Учитывая, что проект 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).

Только протестировано на Debian 10 и CentOS 8

Требования

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

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

Переменная Описание Значение по умолчанию
vaultwarden_directory Куда установить Vaultwarden /opt/vaultwarden
vaultwarden_version Какую версию установить 1.17.0
vaultwarden_webvault Установить патченный веб-интерфейс true
vaultwarden_webvault_version Версия веб-интерфейса для установки 2.16.1
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_version: 1.17.0: по умолчанию используется sqlite,mysql,postgresql, ранее: по умолчанию использовалось sqlite

Пример Playbook

- hosts: servers
  vars:
    vaultwarden_configure: yes
    vaultwarden_port: "443"
    vaultwarden_build_backend: "sqlite,postgresql"
    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'
  roles:
    - dmaes.vaultwarden

Лицензия

MIT

О проекте

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

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