Déploiement Unifié bêta
note
Cette solution est en bêta et destinée à un usage personnel. Les plans d'affaires devraient utiliser l'option de déploiement standard officiellement soutenue.
Alors que le déploiement unifié auto-hébergé de Bitwarden est en bêta, ceux qui installent unifié ne devraient pas mettre en place des procédures de mise à niveau automatiques qui récupèrent les dernières images disponibles. Bitwarden recommande de laisser un peu de temps pour la stabilisation d'une version avant de la mettre à niveau.
Découvrez comment signaler des problèmes .
Cet article vous guidera à travers l'installation et le lancement du déploiement unifié auto-hébergé de Bitwarden. Utilisez cette méthode de déploiement pour :
Simplifiez la configuration et optimisez l'utilisation des ressources (CPU, mémoire) en déployant Bitwarden avec une seule image Docker.
Utilisez différentes solutions de base de données telles que MSSQL, PostgreSQL, SQLite, et MySQL/MariaDB.
Exécutez sur l'architecture ARM pour des systèmes alternatifs tels que Raspberry Pi et les serveurs NAS.
Le déploiement unifié de Bitwarden nécessite :
Au moins 200 Mo de RAM
Stockage 1GB
Moteur Docker 19+
Le déploiement unifié fonctionnera sur votre machine en utilisant un conteneur Docker. Le déploiement unifié peut être exécuté avec n'importe quelle édition ou plan Docker. Évaluez quelle édition est la meilleure pour votre installation.
Installez Docker sur votre machine avant de procéder à l'installation. Reportez-vous à la documentation Docker suivante pour obtenir de l'aide :
Le déploiement unifié peut être exécuté en utilisant la commande docker run
(voir ici) ou en utilisant Docker Compose (voir ici). Dans les deux cas, vous devrez spécifier des variables d'environnement pour le conteneur.
L'exécution du déploiement unifié nécessitera que des variables d'environnement soient définies pour le conteneur. Les variables d'environnement peuvent être spécifiées en créant un fichier settings.env
, dont vous pouvez trouver un exemple dans notre dépôt GitHub, ou en utilisant le drapeau --env
si vous utilisez la méthode docker run
. Plusieurs variables optionnelles sont disponibles pour une expérience de déploiement unifiée plus personnalisée. Des détails supplémentaires sur ces variables peuvent être trouvés ici.
Au minimum, définissez des valeurs pour les variables qui se trouvent sous la section # Paramètres Requis #
de l'exemple de fichier .env
:
Variable | Description |
---|---|
DOMAINE_BW | Remplacez |
FOURNISSEUR_DB_BW | Le fournisseur de base de données que vous utiliserez pour votre serveur Bitwarden. Les options disponibles sont |
SERVEUR_BW_DB | Le nom du serveur sur lequel votre base de données fonctionne. |
BW_DB_BASE DE DONNÉES | Le nom de votre base de données Bitwarden. |
BW_DB_NOM_UTILISATEUR | Le nom d'utilisateur pour accéder à la base de données Bitwarden. |
BW_DB_MOTDEPASSE | Le mot de passe pour accéder à la base de données Bitwarden. |
FICHIER_BD_BW | Uniquement requis pour |
ID_INSTALLATION_BW | Un ID d'installation valide généré à partir de https://bitwarden.com/host/. |
CLÉ_D'INSTALLATION_BW | Une clé d'installation valide générée à partir de https://bitwarden.com/host/. |
note
Contrairement au déploiement standard de Bitwarden, le déploiement unifié n'est pas livré avec une base de données intégrée. Vous pouvez utiliser une base de données existante, ou en créer une nouvelle comme documenté dans cet exemple, et dans les deux cas, vous devez entrer des informations valides dans les variables BW_DB_...
documentées ici.
L'utilisation de fournisseurs de bases de données autres que MSSQL peut entraîner des problèmes de performance, car le support pour ces plateformes continue d'être travaillé tout au long de la bêta. Veuillez utiliser ce modèle de problème pour rapporter tout ce qui concerne votre déploiement unifié de Bitwarden et consultez cette page pour suivre les problèmes connus ou participer à la discussion.
Le déploiement unifié peut être exécuté avec la commande docker run
, comme dans l'exemple suivant :
Bashdocker run -d --name bitwarden -v /$(pwd)/bwdata/:/etc/bitwarden -p 80:8080 --env-file settings.env bitwarden/self-host:beta
La commande présentée ci-dessus comporte plusieurs options requises pour la commande docker run
, y compris :
Nom, abréviation | Description |
---|---|
--détacher , -d | Exécutez le conteneur en arrière-plan et imprimez l'ID du conteneur. |
--nom | Fournissez un nom pour le conteneur. |
--volume , -v | Montez un volume en bind. Au minimum, montez |
--publier , -p | Mapez les ports du conteneur à l'hôte. L'exemple montre le port |
--fichier-env | Chemin du fichier à lire pour obtenir les variables d'environnement. Alternativement, utilisez le drapeau |
Une fois que vous avez exécuté la commande, vérifiez que le conteneur fonctionne et est en bonne santé avec :
Bashdocker ps
Félicitations ! Votre déploiement unifié est maintenant opérationnel à l'adresse https://your.domain.com
. Visitez le coffre web dans votre navigateur pour confirmer qu'il fonctionne. Vous pouvez maintenant enregistrer un nouveau compte et vous connecter.
L'exécution du déploiement unifié avec Docker Compose nécessitera la version 1.24+ de Docker Compose. Pour exécuter le déploiement unifié avec Docker compose, créez un fichier docker-compose.yml
, par exemple :
Bash---
version: "3.8"
services:
bitwarden:
depends_on:
- db
env_file:
- settings.env
image: bitwarden/self-host:beta
restart: always
ports:
- "80:8080"
volumes:
- bitwarden:/etc/bitwarden
db:
environment:
MARIADB_USER: "bitwarden"
MARIADB_PASSWORD: "super_strong_password"
MARIADB_DATABASE: "bitwarden_vault"
MARIADB_RANDOM_ROOT_PASSWORD: "true"
image: mariadb:10
restart: always
volumes:
- data:/var/lib/mysql
volumes:
bitwarden:
data:
Dans le fichier docker-compose.yml
, effectuez toutes les configurations souhaitées, y compris :
Cartographie des volumes pour les journaux et les données Bitwarden.
Mappage des ports.
Configuration d'une image de base de données.
ª
ª
Configurez uniquement une base de données dans docker-compose.yml
, comme dans l'exemple ci-dessus, si vous souhaitez créer un nouveau serveur de base de données à utiliser avec Bitwarden. Des configurations d'exemple pour MySQL, MSSQL et PostgreSQL sont incluses dans notre fichier d'exemple.
Une fois que votre fichier docker-compose.yml
et settings.env
sont créés, démarrez votre serveur unifié en exécutant :
Bashdocker compose up -d
Vérifiez que tous les conteneurs fonctionnent correctement :
Bashdocker ps
Félicitations ! Votre déploiement unifié est maintenant opérationnel à l'adresse https://your.domain.com
. Visitez le coffre web dans votre navigateur pour confirmer qu'il fonctionne. Vous pouvez maintenant enregistrer un nouveau compte et vous connecter.
Pour mettre à jour votre déploiement unifié :
Arrêtez le conteneur Docker en cours d'exécution:
Bashdocker stop bitwarden
Supprimer le conteneur Docker :
Bashdocker rm bitwarden
Exécutez la commande suivante pour récupérer l'image unifiée Bitwarden la plus récente :
Bashdocker pull bitwarden/self-host:beta
Exécutez à nouveau le conteneur Docker :
Bashdocker run -d --name bitwarden -v /$(pwd)/bwdata/:/etc/bitwarden -p 80:8080 --env-file settings.env bitwarden/self-host:beta
Arrêtez le conteneur Docker en cours d'exécution:
Bashdocker compose down
Exécutez la commande suivante pour récupérer l'image unifiée Bitwarden la plus récente :
Bashdocker compose pull
Recréez tous les conteneurs qui doivent être mis à jour :
Bashdocker compose up -d
Vérifiez que les conteneurs sont en fonctionnement :
Bashdocker compose ps
Le déploiement unifié fonctionnera par défaut sans plusieurs des services standard de Bitwarden. Cela permet une personnalisation et une optimisation accrues de votre déploiement unifié. Configurez ces services, et plus de paramètres optionnels, en éditant diverses variables d'environnement.
note
Chaque fois que vous modifiez une variable d'environnement, le conteneur Docker devra être recréé. Apprenez-en plus ici.
Ports de serveur web
Variable | Description |
---|---|
BW_PORT_HTTP | Changez le port utilisé pour le trafic HTTP. Par défaut, |
BW_PORT_HTTPS | Changez le port utilisé pour le trafic HTTPS. Par défaut, |
SSL
Utilisez ces valeurs pour modifier les paramètres du certificat.
Variable | Description |
---|---|
BW_ENABLE_SSL | Utilisez SSL/TLS. |
BW_SSL_CERT | Le nom de votre fichier de certificat SSL. Le fichier doit être situé dans le répertoire |
CLÉ_BW_SSL | Le nom de votre fichier de clé SSL. Le fichier doit être situé dans le répertoire |
BW_ENABLE_SSL_CA | Utilisez SSL avec un service soutenu par une autorité de certification (CA). |
BW_SSL_CA_CERT | Le nom de votre certificat CA SSL. Le fichier doit être situé dans le répertoire |
BW_ENABLE_SSL_DH | Utilisez SSL avec l'échange de clés Diffie-Hellman. |
BW_SSL_DH_CERT | Le nom de votre fichier de paramètres Diffie-Hellman. Le fichier doit être situé dans le répertoire |
PROTOCOLES_BW_SSL | Version SSL utilisée par NGINX. Laissez vide pour la valeur par défaut recommandée. En savoir plus. |
BW_SSL_CIPHERS | Suites de chiffrement SSL utilisées par NGINX. Laissez vide pour la valeur par défaut recommandée. En savoir plus. |
note
Si vous utilisez un certificat SSL existant, vous devrez activer les options SSL appropriées dans settings.env
. Les fichiers SSL doivent être stockés dans /etc/bitwarden
, qui peuvent être référencés dans le fichier docker-compose.yml
. Ces fichiers doivent correspondre aux noms configurés dans settings.env
.
Le comportement par défaut est de générer un certificat auto-signé si SSL est activé et qu'aucun fichier de certificat existant ne se trouve à l'emplacement attendu (/etc/bitwarden
).
Services
Des services supplémentaires peuvent être activés ou désactivés pour des cas d'utilisation spécifiques, tels que les besoins de l'entreprise ou des équipes, en modifiant les valeurs suivantes :
Variable | Description |
---|---|
ACTIVER_ADMIN | Ne désactivez pas ce service. En savoir plus sur les capacités du panneau d'admin ici. Défaut |
ACTIVER_API_BW | Ne désactivez pas ce service. Défaut |
ACTIVER_EVENEMENTS_BW | Activez ou désactivez les journaux d'événements Bitwarden pour le suivi des événements des équipes et de l'entreprise. Défaut |
ACTIVER_ICÔNES_BW | Activez ou désactivez les icônes de marque Bitwarden qui sont définies avec les URI de l'élément d'identifiant. Apprenez-en plus ici. Défaut |
BW_ENABLE_IDENTITY | Ne désactivez pas ce service. Défaut |
ACTIVER_LES_NOTIFICATIONS | Activez ou désactivez les services de notification pour recevoir des notifications push sur les appareils mobiles, en utilisant l'identifiant avec l'appareil, la synchronisation du coffre mobile, et plus encore. Défaut |
ACTIVER_SCIM_BW | Activer ou désactiver SCIM pour les organisations d'Entreprise. Défaut |
ACTIVER_SSO | Activer ou désactiver les services SSO pour les organisations de l'Entreprise. Défaut |
ICÔNES_BW_PROXY_VERS_CLOUD | L'activation de ce service permettra aux demandes de service d'icônes proxy de fonctionner via les services cloud afin de réduire la charge de la mémoire système. |
Courrier
Configurez les paramètres SMTP pour votre déploiement unifié. Copiez les informations de votre fournisseur de messagerie SMTP choisi dans les champs suivants:
Variable | Description |
---|---|
paramètresGlobaux__mail__répondreÀEmail | Entrez le courriel de réponse pour votre serveur. |
paramètresGlobaux__mail__smtp__hôte | Entrez le domaine hôte pour votre serveur SMTP. |
paramètresGlobaux__mail__smtp__port | Entrez le nombre de port de l'hôte SMTP. |
paramètresGlobaux__mail__smtp__ssl | Si votre hôte SMTP utilise SSL, entrez Définissez la valeur sur |
paramètresGlobaux__mail__smtp__nomUtilisateur | Entrez le nom d'utilisateur SMTP. |
paramètresGlobaux__mail__smtp__motDePasse | Entrez le mot de passe SMTP. |
API Yubico (YubiKey)
Variable | Description |
---|---|
paramètresGlobaux__yubico__identifiantClient | Remplacez la valeur par l'ID reçu de votre clé Yubico. Inscrivez-vous pour la clé Yubico ici. |
paramètresGlobaux__yubico__clé | Entrez la valeur de clé reçue de Yubico. |
L'utilisation de la variété d'options de base de données compatibles avec le déploiement unifié nécessitera des configurations .env
supplémentaires.
Dans settings.env
:
Bash# Database
BW_DB_PROVIDER=mysql
BW_DB_SERVER=db
BW_DB_DATABASE=bitwarden_vault
BW_DB_USERNAME=bitwarden
BW_DB_PASSWORD=super_strong_password
Dans settings.env
:
Bash# Database
BW_DB_PROVIDER=sqlserver
BW_DB_SERVER=db
BW_DB_DATABASE=bitwarden_vault
BW_DB_USERNAME=bitwarden
BW_DB_PASSWORD=super_strong_password
Dans settings.env
:
Bash# Database
BW_DB_PROVIDER=sqlite
BW_DB_FILE=/path/to/.db
L'attribution de la valeur sqlite
créera automatiquement un fichier vault.db
dans le volume /etc/bitwarden
. BW_DB_FILE
n'est nécessaire que si vous souhaitez spécifier le chemin vers un autre fichier de base de données.
Dans settings.env
:
Bash# Database
BW_DB_PROVIDER=postgresql
BW_DB_SERVER=db
BW_DB_DATABASE=bitwarden_vault
BW_DB_USERNAME=bitwarden
BW_DB_PASSWORD=super_strong_password
Autre
Variable | Description |
---|---|
paramètresGlobaux__désactiverEnregistrementUtilisateur | Activer ou désactiver les capacités d'enregistrement de compte utilisateur. |
paramètresGlobaux__hibpApiKey | Entrez la clé API fournie par Have I Been Pwnd. Inscrivez-vous pour recevoir la clé API ici. |
paramètresAdmin__admins | Entrez les adresses de courriel de l'admin. |
BW_REAL_IPS | Définissez de vraies adresses IP dans |
BW_CSP | Paramètre de la politique de sécurité du contenu. La reconfiguration de ce paramètre peut interrompre des fonctionnalités. En modifiant ce paramètre, vous devenez responsable de la maintenance de cette valeur. |
BW_DB_PORT | Spécifiez un port personnalisé pour le trafic de base de données. Si non spécifié, la valeur par défaut dépendra de votre fournisseur de base de données choisi. |
Pour redémarrer votre conteneur Docker après avoir modifié les variables d'environnement, exécutez les commandes suivantes à partir du répertoire de déploiement unifié de Bitwarden :
Arrêtez le conteneur Docker en cours d'exécution:
Bashdocker stop bitwarden
Supprimer le conteneur Docker :
Bashdocker rm bitwarden
Exécutez à nouveau le conteneur Docker :
Bashdocker run -d --name bitwarden -v /$(pwd)/bwdata/:/etc/bitwarden -p 80:8080 --env-file settings.env bitwarden/self-host:beta
Arrêtez le conteneur Docker en cours d'exécution:
Bashdocker compose down
Recréez les conteneurs:
Bashdocker compose up -d
Assurez-vous que les conteneurs fonctionnent correctement avec :
Bashdocker compose ps
Par défaut, le conteneur Bitwarden consommera la mémoire qui est disponible pour lui, souvent plus que le minimum nécessaire pour fonctionner. Pour les environnements soucieux de la mémoire, vous pouvez utiliser docker -m
ou --memory=
pour limiter l'utilisation de la mémoire du conteneur Bitwarden.
Nom, abréviation | Description |
---|---|
--mémoire=, -m | La quantité maximale de mémoire que le conteneur peut utiliser. Bitwarden nécessite au moins 200m. Voir la documentation Docker pour en savoir plus. |
Pour contrôler l'utilisation de la mémoire avec Docker Compose, utilisez la clé mem_limit
:
Bashservices: bitwarden: env_file: - settings.env image: bitwarden/self-host:beta restart: always mem_limit: 200m
Alors que le déploiement unifié de Bitwarden reste en version bêta, nous vous encourageons à signaler les problèmes et à donner votre avis via GitHub. Veuillez utiliser ce modèle de problème pour signaler tout ce qui concerne votre déploiement unifié de Bitwarden et consultez cette page pour suivre les problèmes connus ou participer à la discussion.
Si vous prévoyez d'auto-héberger une organisation Bitwarden, consultez auto-héberger une organisation pour commencer.
Pour plus d'informations sur le déploiement standard auto-hébergé de Bitwarden, voir :
Suggérer des modifications à cette page
Comment pouvons-nous améliorer cette page pour vous ?
Pour les questions techniques, de facturation et de produits, veuillez contacter le service d'assistance.