jenstimmerman.vaultwarden

Vaultwarden

Este rol fue conocido previamente como dmaes.bitwardenrs y dmaes.vaultwarden

Dado que el proyecto Bitwarden_RS cambió de nombre a Vaultwarden, también lo hizo este rol (ver #12 para más información). Para hacer este cambio forzoso, cambiamos todo de bitwardenrs a vaultwarden (variables utilizadas en el código de Ansible, pero también directorios, usuario, servicio systemd, etc.) Al hacer el cambio:

  • Detén el antiguo servicio bitwarden_rs
  • Haz una copia de seguridad de ambos archivos y de la base de datos por si acaso
  • Actualiza tu código de Ansible para trabajar con el nuevo rol
  • O apunta vaultwarden_directory al antiguo directorio, o mueve los archivos al nuevo predeterminado (/opt/vaultwarden). También presta atención a vaultwarden_datadir si estás utilizando uno personalizado.
  • El nuevo usuario de vaultwarden debe tener los mismos derechos en la base de datos que tu antiguo usuario de bitwardenrs
    • para postgres:
      • su - postgres
      • psql
      • postgres-# GRANT bitwardenrs TO vaultwarden;
  • Ejecuta Ansible, esto creará todo bajo el nuevo nombre (usuario y servicio, no directorio)
  • Limpia el antiguo usuario, servicio (y posiblemente el directorio de (datos))

Estado de Construcción

Construye, instala y configura Vaultwarden (sin Docker).

Solo probado en Rocky Linux 9

Requisitos

  • Requisitos para el módulo unarchive
  • Requisitos para el módulo package
  • wget o curl
  • jinja => v2.11
  • Systemd (opcional)

Al menos 1 GB de RAM (se recomienda 2GB), el compilador rustc compilará bitwarden en tu host, lo que consume mucha RAM. Los posibles síntomas de no tener suficiente RAM son: 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

Variables del Rol

Variable Descripción Valor predeterminado
vaultwarden_directory Dónde instalar Vaultwarden /opt/vaultwarden
vaultwarden_version Qué versión instalar latest
vaultwarden_webvault Instalar el webvault parcheado true
vaultwarden_webvault_version Versión del webvault a instalar (Esto se ignorará si la versión de vaultwarden se establece en latest, se instalará la última versión correspondiente) Esta es la versión sin el prefijo 'v' 2022.12.0
vaultwarden_build_backend Tipo de base de datos para compilar específico de la versión de vaultwarden(*)
vaultwarden_force_recompile Forzar recompilación del binario (por ejemplo, si cambiaste de backend en el mismo servidor) false
vaultwarden_config Variables de entorno clave-valor para el archivo .env de Vaultwarden { DOMAIN: "https://{{ ansible_fqdn }}/" }
vaultwarden_datadir Directorio de datos de Vaultwarden (no se configura, solo se crea y se usa para e.g. claves) {{ vaultwarden_directory }}/data
vaultwarden_encryption_key Clave RSA para usar en la encriptación (contenido, no archivo), cadena vacía para no copiar, Vaultwarden debería generar una si no existe ""
vaultwarden_force_encryption_key Forzar el cambio de la clave de encriptación si ya existe (¡PELIGROSO!) false
vaultwarden_systemd Administrar el servicio systemd {{ ansible_service_mgr == 'systemd' }}
vaultwarden_required_service Hacer que Systemd espere a otro servicio antes de iniciar vaultwarden indefinido
vaultwarden_proc_limit Especificar el LimitNPROC para el archivo de servicio systemd 128
(*)A partir de vaultwarden_version: 1.17.0: predeterminado a sqlite,mysql,postgresql, antes: predeterminado a sqlite

Ejemplo de Playbook

- hosts: servers
  vars:
    vaultwarden_configure: yes
    vaultwarden_port: "443"
    vaultwarden_build_backend: "sqlite,postgresql"
    vaultwarden_required_service: "postgresql.service"  # añade esto si postgresql empieza a ralentizar, esto hará que systemd espere
    admin_token: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      ...
    vaultwarden_config:
      DOMAIN: "https://example.com/"
      DOMAIN_PATH: "/vaultwarden"  # resulta en un dominio de https://example.com/vaultwarden/, necesita comenzar con un '/'
      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

Licencia

MIT

Acerca del proyecto

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

Instalar
ansible-galaxy install jenstimmerman.vaultwarden
Licencia
mit
Descargas
1.8k
Propietario