breuninger.bitwarden
Rôle Ansible : Bitwarden
Déployez Bitwarden avec Docker et Docker-Compose en utilisant le script bitwarden.sh
.
Ce rôle est une interface automatisée autour des scripts d'installation de Bitwarden. Il utilise abondamment des gestionnaires pour déclencher des tâches de reconfiguration et de mise à jour.
Si vous avez besoin d'une tâche non couverte par le rôle, il est tout à fait acceptable d'utiliser le script d'installation directement sur la machine. Utilisez la documentation officielle comme référence : https://bitwarden.com/help/article/install-on-premise/
Utilisation
Ajoutez le rôle à votre playbook :
- hosts: server
roles:
- { role: breuninger.bitwarden }
Problèmes connus
Certbot
Nous ne supportons actuellement que les certificats TLS statiques pour Nginx. L'intégration avec Certbot n'est pas configurée. N'hésitez pas à ajouter cette fonctionnalité sous forme de PR si nécessaire.
Version de Bitwarden
Bitwarden a une version différente dans les fichiers d'installation par rapport à la version taguée du dépôt. Cela est dû à leur stratégie de version, qui n'augmente réellement la version que dans la branche principale. Nous sommes déjà en discussion avec Bitwarden et espérons un mode de publication différent.
Modes SSL
Le script d'installation de Bitwarden permet quatre manières différentes de configurer SSL (ou son absence) : un certificat SSL fourni par l'utilisateur, un certificat SSL créé par Let's Encrypt, un certificat auto-signé généré par le conteneur d'installation, et aucune SSL (non recommandé pour une utilisation normale).
Fournit par l'utilisateur
Pour maintenir la compatibilité ascendante, c'est le mode par défaut pour ce rôle. Bien que le script d'installation de Bitwarden permette des certificats non approuvés fournis par l'utilisateur, ce rôle exige qu'ils soient approuvés (signés par une autorité de certification, pas auto-signés).
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: provided
bitwarden_nginx_cert_path: /path/to/ssl/cert
bitwarden_nginx_key_path: /path/to/ssl/key
Si un cas d'utilisation d'un certificat non approuvé fourni par l'utilisateur est nécessaire, cela peut être ajouté avec un nouveau mode ssl et des entrées correspondantes dans defaults/main.yml
.
Let's Encrypt
Utilisez l'intégration SSL Certbot qui vient avec le script d'installation de Bitwarden :
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: lets_encrypt
bitwarden_lets_encrypt_email: [email protected]
Auto-signé généré
Le script d'installation de Bitwarden permet de générer un certificat SSL auto-signé pour utiliser SSL, mais ce n'est pas recommandé pour une source non fiable. Les deux méthodes ci-dessus sont meilleures pour exécuter Bitwarden dans un environnement de production. Veuillez choisir l'une d'elles au lieu d'utiliser cette option, sauf si cela est absolument nécessaire.
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: generate
Pas de SSL
Veuillez bien réfléchir à votre cas d'utilisation avant d'utiliser cette option. Une utilisation légitime pour cela est la terminaison SSL à un proxy inverse.
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: disable
Installez et configurez Bitwarden sur site de manière docker-compose.
Sommaire
Variables par défaut
bitwarden_domain_name
Nom de domaine utilisé pour Bitwarden
Valeur par défaut
bitwarden_domain_name: localhost
bitwarden_global_env
Carte des variables d'environnement globales de Bitwarden. Chaque entrée est mappée à global.override.env. Voir https://bitwarden.com/help/article/environment-variables/
Valeur par défaut
bitwarden_global_env: {}
Exemple d'utilisation
bitwarden_global_env:
globalSettings__mail__smtp__host: localhost
globalSettings__mail__smtp__port: 25
bitwarden_lets_encrpyt_email
Compte email de Let's Encrypt si bitwarden_ssl_mode est défini sur "lets_encrypt".
bitwarden_lets_encrypt_email
Valeur par défaut
bitwarden_lets_encrypt_email:
bitwarden_nginx_cert_path
Chemin du fichier de certificat utilisé pour le conteneur Nginx (requis si bitwarden_ssl_mode == "provided"
). L'utilisateur du rôle est responsable de la fourniture d'un fichier de certificat valide.
Le fichier est copié depuis l'emplacement fourni vers le répertoire personnel de l'utilisateur Bitwarden pour garantir une correspondance correcte à l'intérieur du conteneur.
Valeur par défaut
bitwarden_nginx_cert_path:
bitwarden_nginx_key_path
Chemin du fichier clé utilisé pour le conteneur Nginx (requis si bitwarden_ssl_mode == "provided"
). L'utilisateur du rôle est responsable de la fourniture d'un fichier clé valide.
Le fichier est copié depuis l'emplacement fourni vers le répertoire personnel de l'utilisateur Bitwarden pour garantir une correspondance correcte à l'intérieur du conteneur.
Valeur par défaut
bitwarden_nginx_key_path:
bitwarden_region
Région utilisée pour Bitwarden. Options : US, EU
Valeur par défaut
bitwarden_region: US
bitwarden_script_version
Valeur par défaut
bitwarden_script_version: v2023.12.0
bitwarden_setup_config
Carte des valeurs de configuration d'installation de Bitwarden à remplacer. Utilisez ceci pour changer les valeurs dans le fichier config.yml généré par Bitwarden.
Valeur par défaut
bitwarden_setup_config: {}
Exemple d'utilisation
bitwarden_setup_config:
database_docker_volume: true
bitwarden_ssl_mode
Valeur par défaut
bitwarden_ssl_mode: provided
bitwarden_ssl_provider
Fournit le mode SSL à utiliser lors de la configuration de l'installation. Options : provided, generate, lets_encrypt, disable
bitwarden_test_install_script
Un indicateur pour désactiver le téléchargement du script bitwarden.sh
. Utilisé dans les cas où le mode SSL Let's Encrypt doit être testé sans craindre d'atteindre la limite de taux de Let's Encrypt. Ou pour tester des modifications des scripts bitwarden.sh
ou run.sh
.
Espérons que cet indicateur pourra être ajouté au script bitwarden.sh
à l'avenir au lieu d'être utilisé ici.
Valeur par défaut
bitwarden_test_install_script: false
Dépendances
Aucune.
Licence
MIT
Auteur
Operations Core Toolig ops-core-tooling@breuninger.de
Install and configure bitwarden on premise in docker-compose fashion.
ansible-galaxy install breuninger.bitwarden