breuninger.bitwarden
Rol de Ansible: Bitwarden
Despliega Bitwarden con Docker y Docker-Compose usando bitwarden.sh
.
Este rol es un envoltorio automatizado alrededor de los scripts de configuración de Bitwarden. Utiliza muchos controladores para activar tareas de reconfiguración y actualización.
Si necesitas realizar alguna tarea que no cubre el rol, está bien usar el script de configuración directamente en la máquina. Usa la documentación oficial como referencia: https://bitwarden.com/help/article/install-on-premise/
Uso
Agrega el rol a tu playbook:
- hosts: server
roles:
- { role: breuninger.bitwarden }
Problemas conocidos
Certbot
Actualmente solo soportamos certificados TLS estáticos para Nginx. La integración de Certbot no está configurada. Si es necesario, siéntete libre de agregar esta característica como un PR.
Versión de Bitwarden
Bitwarden tiene una versión diferente en los archivos de configuración en comparación con lo que puede indicar la versión etiquetada del repositorio. Esto se debe a su estrategia de lanzamiento, que solo aumenta la versión actual en la rama principal. Ya estamos en conversaciones con Bitwarden y esperamos un modo de lanzamiento diferente.
Modos de SSL
El script de configuración de Bitwarden permite cuatro maneras diferentes de configurar SSL (o la falta de él): un certificado SSL proporcionado por el usuario, un certificado SSL creado por Let's Encrypt, un certificado auto-firmado generado por el contenedor de configuración, y sin SSL (no recomendado para instalaciones en uso normal).
Proporcionado por el usuario
Para mantener la compatibilidad hacia atrás, este es el modo predeterminado para este rol. Mientras que el script de configuración de Bitwarden permite certificados no confiables proporcionados por el usuario, este rol requiere que sea confiable (firmado por una CA, no auto-firmado).
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: provided
bitwarden_nginx_cert_path: /ruta/a/ssl/cert
bitwarden_nginx_key_path: /ruta/a/ssl/key
Si se necesita un caso de uso de certificado no confiable proporcionado por el usuario, se puede agregar con un nuevo ssl_mode y entradas correspondientes en defaults/main.yml
.
Let's Encrypt
Usa la integración SSL de Certbot que viene con el script de configuración de Bitwarden.
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: lets_encrypt
bitwarden_lets_encrypt_email: [email protected]
Generado auto-firmado
El script de configuración de Bitwarden permite generar un certificado SSL auto-firmado para utilizar SSL, pero desde una fuente no confiable. Los dos métodos anteriores son mejores para ejecutar Bitwarden en un entorno de producción. Por favor, elige uno de ellos en lugar de esta opción, a menos que sea absolutamente necesario.
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: generate
Sin SSL
Por favor, considera cuidadosamente tu caso de uso antes de usar esta opción. Un uso legítimo para esto es la terminación SSL en un proxy inverso.
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: disable
Instala y configura Bitwarden en la máquina local de manera similar a Docker-Compose.
Tabla de contenido
Variables Predeterminadas
bitwarden_domain_name
Nombre de dominio que se usa para Bitwarden.
Valor predeterminado
bitwarden_domain_name: localhost
bitwarden_global_env
Mapa de variables de entorno globales de Bitwarden. Cada entrada se mapea a global.override.env. Consulta https://bitwarden.com/help/article/environment-variables/
Valor predeterminado
bitwarden_global_env: {}
Ejemplo de uso
bitwarden_global_env:
globalSettings__mail__smtp__host: localhost
globalSettings__mail__smtp__port: 25
bitwarden_lets_encrpyt_email
Cuenta de correo de Lets Encrypt si bitwarden_ssl_mode está configurado en "lets_encrypt".
bitwarden_lets_encrypt_email
Valor predeterminado
bitwarden_lets_encrypt_email:
bitwarden_nginx_cert_path
Ruta del archivo de certificado utilizado para el contenedor de Nginx (requerido si bitwarden_ssl_mode == "provided"
).
El usuario del rol es responsable de proporcionar un archivo de certificado válido.
El archivo se copia de la ubicación proporcionada al hogar del usuario de Bitwarden para garantizar el mapeo correcto dentro del contenedor.
Valor predeterminado
bitwarden_nginx_cert_path:
bitwarden_nginx_key_path
Ruta del archivo de clave utilizado para el contenedor de Nginx (requerido si bitwarden_ssl_mode == "provided"
). El usuario del rol es responsable de proporcionar un archivo de clave válido.
El archivo se copia de la ubicación proporcionada al hogar del usuario de Bitwarden para garantizar el mapeo correcto dentro del contenedor.
Valor predeterminado
bitwarden_nginx_key_path:
bitwarden_region
Región utilizada para Bitwarden. Opciones: US, EU.
Valor predeterminado
bitwarden_region: US
bitwarden_script_version
Valor predeterminado
bitwarden_script_version: v2023.12.0
bitwarden_setup_config
Mapa de valores de configuración de instalación de Bitwarden a sobrescribir. Utiliza esto para cambiar valores en el archivo config.yml generado por Bitwarden.
Valor predeterminado
bitwarden_setup_config: {}
Ejemplo de uso
bitwarden_setup_config:
database_docker_volume: true
bitwarden_ssl_mode
Valor predeterminado
bitwarden_ssl_mode: provided
bitwarden_ssl_provider
Proporciona el modo de SSL a usar al configurar la instalación. Opciones: provided, generate, lets_encrypt, disable.
bitwarden_test_install_script
Una bandera para deshabilitar la descarga del script bitwarden.sh
. Se usa en casos donde el modo ssl de Let's Encrypt necesita ser probado sin temor a alcanzar el límite de tasa de Let's Encrypt. O para probar cambios en los scripts bitwarden.sh
o run.sh
. Esperamos que esta bandera se pueda agregar al script bitwarden.sh
en el futuro en lugar de ser utilizada aquí.
Valor predeterminado
bitwarden_test_install_script: false
Dependencias
Ninguna.
Licencia
MIT
Autor
Operaciones Core Toolig ops-core-tooling@breuninger.de
Install and configure bitwarden on premise in docker-compose fashion.
ansible-galaxy install breuninger.bitwarden