Self-hostingInstaller & Déployer des Guides

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.

Exigences du système

Le déploiement unifié de Bitwarden nécessite :

  • Au moins 200 Mo de RAM

  • Stockage 1GB

  • Moteur Docker 19+

Installez Docker

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 :

Exécutez Bitwarden unifié

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.

Spécifiez les variables d'environnement

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 bitwarden.yourdomain.com par le domaine où Bitwarden sera accessible.

FOURNISSEUR_DB_BW

Le fournisseur de base de données que vous utiliserez pour votre serveur Bitwarden. Les options disponibles sont sqlserver, postgresql, sqlite, ou mysql/mariadb.

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 sqlite si vous souhaitez spécifier le chemin d'accès à votre fichier de base de données. Si non spécifié, sqlite créera automatiquement un fichier vault.db sous le volume /etc/bitwarden.

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.

Utilisation de docker run

Le déploiement unifié peut être exécuté avec la commande docker run, comme dans l'exemple suivant :

Bash
docker 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. Bitwarden est utilisé dans l'exemple.

--volume , -v

Montez un volume en bind. Au minimum, montez /etc/bitwarden.

--publier , -p

Mapez les ports du conteneur à l'hôte. L'exemple montre le port 80:8080 cartographié. Le port 8443 est requis lors de la configuration SSL.

--fichier-env

Chemin du fichier à lire pour obtenir les variables d'environnement. Alternativement, utilisez le drapeau --env pour déclarer des variables d'environnement en ligne (en savoir plus).

Une fois que vous avez exécuté la commande, vérifiez que le conteneur fonctionne et est en bonne santé avec :

Bash
docker 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.

Utilisation de Docker Compose

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 :

Bash
docker compose up -d

Vérifiez que tous les conteneurs fonctionnent correctement :

Bash
docker 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.

Mettez à jour votre serveur

Pour mettre à jour votre déploiement unifié :

  1. Arrêtez le conteneur Docker en cours d'exécution:

    Bash
    docker stop bitwarden

  2. Supprimer le conteneur Docker :

    Bash
    docker rm bitwarden

  3. Exécutez la commande suivante pour récupérer l'image unifiée Bitwarden la plus récente :

    Bash
    docker pull bitwarden/self-host:beta

  4. Exécutez à nouveau le conteneur Docker :

    Bash
    docker run -d --name bitwarden -v /$(pwd)/bwdata/:/etc/bitwarden -p 80:8080 --env-file settings.env bitwarden/self-host:beta


  1. Arrêtez le conteneur Docker en cours d'exécution:

    Bash
    docker compose down

  2. Exécutez la commande suivante pour récupérer l'image unifiée Bitwarden la plus récente :

    Bash
    docker compose pull

  3. Recréez tous les conteneurs qui doivent être mis à jour :

    Bash
    docker compose up -d

  4. Vérifiez que les conteneurs sont en fonctionnement :

    Bash
    docker compose ps


Variables d'environnement

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, 8080.

BW_PORT_HTTPS

Changez le port utilisé pour le trafic HTTPS. Par défaut, 8443.

SSL

Utilisez ces valeurs pour modifier les paramètres du certificat.

Variable

Description

BW_ENABLE_SSL

Utilisez SSL/TLS. vrai/faux. Défaut faux.

SSL est requis pour que Bitwarden fonctionne correctement. Si vous n'utilisez pas SSL configuré dans le conteneur Bitwarden, vous devriez mettre Bitwarden devant un proxy SSL.

BW_SSL_CERT

Le nom de votre fichier de certificat SSL. Le fichier doit être situé dans le répertoire /etc/bitwarden à l'intérieur du conteneur. Défaut ssl.crt.

CLÉ_BW_SSL

Le nom de votre fichier de clé SSL. Le fichier doit être situé dans le répertoire /etc/bitwarden à l'intérieur du conteneur. Défaut ssl.key.

BW_ENABLE_SSL_CA

Utilisez SSL avec un service soutenu par une autorité de certification (CA). vrai/faux. Défaut faux.

BW_SSL_CA_CERT

Le nom de votre certificat CA SSL. Le fichier doit être situé dans le répertoire /etc/bitwarden à l'intérieur du conteneur. Défaut ca.crt.

BW_ENABLE_SSL_DH

Utilisez SSL avec l'échange de clés Diffie-Hellman. vrai/faux. Défaut faux.

BW_SSL_DH_CERT

Le nom de votre fichier de paramètres Diffie-Hellman. Le fichier doit être situé dans le répertoire /etc/bitwarden à l'intérieur du conteneur. Défaut dh.pem.

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 vrai.

ACTIVER_API_BW

Ne désactivez pas ce service.

Défaut vrai.

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 faux.

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 vrai.

BW_ENABLE_IDENTITY

Ne désactivez pas ce service.

Défaut vrai.

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 vrai.

ACTIVER_SCIM_BW

Activer ou désactiver SCIM pour les organisations d'Entreprise. Défaut faux.

ACTIVER_SSO

Activer ou désactiver les services SSO pour les organisations de l'Entreprise. Défaut faux.

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.
Si vous choisissez d'utiliser ce paramètre, BW_ENABLE_ICONS doit être réglé sur faux afin de réduire la charge du conteneur. Défaut faux.

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 vrai.

Définissez la valeur sur false si votre hôte utilise le service TLS.

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.

Configurations de base de données

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 nginx.conf dans une liste séparée par des virgules. Utile pour définir les serveurs proxy qui transmettent l'adresse IP du client. En savoir plus.

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.

Redémarrez le conteneur

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 :

  1. Arrêtez le conteneur Docker en cours d'exécution:

    Bash
    docker stop bitwarden

  2. Supprimer le conteneur Docker :

    Bash
    docker rm bitwarden

  3. Exécutez à nouveau le conteneur Docker :

    Bash
    docker run -d --name bitwarden -v /$(pwd)/bwdata/:/etc/bitwarden -p 80:8080 --env-file settings.env bitwarden/self-host:beta

  1. Arrêtez le conteneur Docker en cours d'exécution:

    Bash
    docker compose down

  2. Recréez les conteneurs:

    Bash
    docker compose up -d
  3. Assurez-vous que les conteneurs fonctionnent correctement avec :

    Bash
    docker compose ps

Utilisation de la mémoire

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 :

Bash
services: bitwarden: env_file: - settings.env image: bitwarden/self-host:beta restart: always mem_limit: 200m

Signaler des problèmes

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.

Ressources supplémentaires

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.

État du nuage

Vérifier l'état

Améliorez vos connaissances en cybersécurité.

Abonnez-vous à la newsletter.


© 2024 Bitwarden, Inc. Conditions Confidentialité Paramètres des cookies Plan du site

Go to EnglishStay Here