# Role: deploy_container_vaultwarden ## Purpose This role installs and configures Vaultwarden (a Bitwarden-compatible password manager) as a Docker container. It generates a `docker-compose.yml` and `.env` file based on the provided variables and integrates the container into an existing Traefik setup. The role focuses solely on deployment and basic configuration of Vaultwarden, including SMTP settings and the admin token. ## Variables ### Default Variables (`defaults/main.yml`) ```yaml container_vaultwarden_version: latest # (type: string) Vaultwarden container version container_vaultwarden_domain: vaultwarden.example.com # (type: string) Domain name for Vaultwarden container_vaultwarden_admin_token: generated_vaultwarden_hash # (type: string) Argon2 hash for admin login container_vaultwarden_smtp_host: ip_of_your_smtp_server # (type: string) SMTP server hostname/IP container_vaultwarden_smtp_from: mail@example.com # (type: string) Sender email address for notifications container_vaultwarden_smtp_port: 587 # (type: int) SMTP port (587 = TLS, 465 = SSL) container_vaultwarden_smtp_security: force_tls # (type: string) SMTP security ("force_tls", "starttls", "off") container_vaultwarden_smtp_username: your_smtp_username # (type: string) SMTP username container_vaultwarden_smtp_password: your_smtp_password # (type: string) SMTP password ``` Note: The admin token must be generated with ``` docker run --rm -it vaultwarden/server /vaultwarden hash ``` ### Static Variables (`vars/main.yml`) ```yaml container_base_dir: /opt/docker/vaultwarden ``` ### Role Usage ```yaml roles: - role: deploy_container_vaultwarden vars: container_vaultwarden_domain: vault.yourdomain.tld container_vaultwarden_smtp_host: smtp.yourprovider.com container_vaultwarden_smtp_port: 465 container_vaultwarden_smtp_security: force_tls ``` ## Requirements * Docker and Docker Compose must be installed * The Traefik network (traefik) must exist * Ansible access to the target system * Root/sudo privileges (become: true) ## Authors * Author 📧 [Kevin Heyer](mailto:kevin.heyer@wira-gmbh.de) ```