44 lines
1.4 KiB
Markdown
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
|