Files

44 lines
1.4 KiB
Markdown

# 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