# 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 ```yaml - hosts: servers roles: - role: ansible-role-vaultwarden vars: vaultwarden_user: vaultwarden vaultwarden_group: vaultwarden ``` ## License MIT