ansible-role-vaultwarden

Builds Vaultwarden from source using Rust and installs the binary alongside the web vault UI (from dani-garcia/bw_web_builds). Sets up a systemd service.

Build time is significant (10-20 minutes depending on hardware). The role is idempotent: it only rebuilds when the target version changes.

The service user and group must be created beforehand.

Requirements

  • Ansible >= 2.14
  • Debian or Ubuntu
  • Internet access (downloads Rust toolchain, source code, web vault)

Role Variables

Variable Default Description
vaultwarden_version "" Version tag to build (empty = latest)
vaultwarden_user vaultwarden User to run Vaultwarden
vaultwarden_group vaultwarden Group to run Vaultwarden
vaultwarden_install_dir /opt/vaultwarden Binary installation directory
vaultwarden_data_dir /var/lib/vaultwarden Data directory (SQLite DB, attachments)
vaultwarden_webvault_dir /opt/vaultwarden/web-vault Web vault static files
vaultwarden_service_enabled true Enable service at boot
vaultwarden_service_state started Service state after installation

Example Playbook

- hosts: servers
  roles:
    - role: ansible-role-vaultwarden
      vars:
        vaultwarden_user: vaultwarden
        vaultwarden_group: vaultwarden

License

MIT

Description
Build and install Vaultwarden from source on Linux
Readme 29 KiB