# Déploiement Manuel de Linux

Cet article vous guidera à travers la procédure pour installer et déployer manuellement Bitwarden sur votre propre serveur. Veuillez consulter la documentation de soutien à la [version logicielle](https://bitwarden.com/fr-fr/help/bitwarden-software-release-support/#release-support-at-bitwarden/) de Bitwarden.

> [!WARNING] Manual Server Setup
> **Les installations manuelles ne doivent être effectuées que par des utilisateurs avancés.** Ne poursuivez que si vous êtes très familier avec les technologies Docker et que vous désirez plus de contrôle sur votre installation Bitwarden.
> 
> Les installations manuelles n'ont pas la capacité de mettre à jour automatiquement certaines dépendances de l'installation de Bitwarden. Lorsque vous passez d'une version de Bitwarden à la suivante, vous serez responsable des modifications des variables d'environnement requises, des modifications de nginx `default.conf`, des modifications de `docker-compose.yml`, et ainsi de suite.
> 
> Nous essaierons de mettre en évidence ces points dans les [notes de version sur GitHub](https://github.com/bitwarden/server/releases). Vous pouvez également surveiller les modifications apportées aux [modèles de dépendance](https://github.com/bitwarden/server/tree/master/util/Setup/Templates) utilisés par le script d'installation de Bitwarden sur GitHub.

## Exigences

Avant de procéder à l'installation, veuillez vous assurer que [Docker Engine](https://docs.docker.com/engine/installation/) et [Docker Compose](https://docs.docker.com/compose/install/) sont installés et prêts à être utilisés sur votre serveur et que votre machine répond aux spécifications système requises.

Si vous construisez vos propres images Bitwarden, les images officielles de .NET Core Runtime (téléchargeables depuis [DockerHub](https://hub.docker.com/_/microsoft-dotnet-aspnet)) de la même version majeure que les images Bitwarden sont nécessaires.

### Spécifications du système

| | Minimum | Recommandé |
|------|------|------|
| Processeur | x64, 1.4GHz | x64, 2GHz double cœur |
| Mémoire | 2GB de RAM | 4GB de RAM |
| Stockage | 12GB | 25GB |
| Version de Docker | Moteur 19+ et Compose 1.24+ | Moteur 19+ et Compose 1.24+ |

## Procédure d'installation

### Créer un utilisateur local Bitwarden & répertoire

Nous recommandons de configurer votre serveur avec un compte de service Bitwarden dédié à partir duquel installer et exécuter Bitwarden. En faisant cela, votre instance Bitwarden sera isolée des autres applications en cours d'exécution sur votre serveur.

Ces étapes sont les meilleures pratiques recommandées par Bitwarden, mais ne sont pas obligatoires. Pour plus d'informations, consultez la documentation de Docker sur les [étapes post-installation pour Linux](https://docs.docker.com/engine/install/linux-postinstall/).

1. Créez un utilisateur Bitwarden :

```
sudo adduser bitwarden
```
2. Définissez un mot de passe pour l'utilisateur Bitwarden :

```
sudo passwd bitwarden
```
3. Créez un groupe Docker (s'il n'existe pas déjà) :

```
sudo groupadd docker
```
4. Ajoutez l'utilisateur Bitwarden au groupe docker:

```
sudo usermod -aG docker bitwarden
```
5. Créez un répertoire Bitwarden :

```
sudo mkdir /opt/bitwarden
```
6. Définissez les autorisations pour le répertoire `/opt/bitwarden` :

```
sudo chmod -R 700 /opt/bitwarden
```
7. Définissez la propriété de l'utilisateur Bitwarden du répertoire `/opt/bitwarden` :

```
sudo chown -R bitwarden:bitwarden /opt/bitwarden
```

### Télécharger & configurer

> [!TIP] If you've setup self-host local user and directory.
> Si vous avez [créé un utilisateur & répertoire Bitwarden](https://bitwarden.com/fr-fr/help/install-on-premise-manual/#create-bitwarden-local-user--directory/), complétez ce qui suit en tant qu'utilisateur `Bitwarden` depuis le répertoire `/opt/bitwarden`. **N'installez pas Bitwarden en tant que root**, car vous rencontrerez des problèmes lors de l'installation.

Pour télécharger Bitwarden et configurer les ressources du serveur Bitwarden :

1. Téléchargez une version ébauchée des dépendances de Bitwarden (`docker-stub.zip`) depuis les [pages de versions sur GitHub](https://github.com/bitwarden/server/releases). Par exemple:

```
curl -L https://github.com/bitwarden/server/releases/download/v<version_number>/docker-stub-US.zip \
 -o docker-stub-US.zip
```
2. Créez un nouveau répertoire nommé `bwdata` et extrayez `docker-stub.zip` dedans, par exemple :

```
unzip docker-stub-US.zip -d bwdata
```

Une fois décompressé, le répertoire `bwdata` correspondra à ce que le fichier `docker-compose.yml` attend pour le mappage de volume. Vous pouvez, si vous le souhaitez, modifier l'emplacement de ces mappages sur la machine hôte.
3. Dans `./bwdata/env/global.override.env`, éditer les variables d'environnement suivantes :

 - `globalSettings__baseServiceUri__vault=`: Entrez le domaine de votre instance Bitwarden.
 - `globalSettings__sqlServer__ConnectionString=`: Remplacez le `MOT_DE_PASSE_ALÉATOIRE_DE_LA_BASE_DE_DONNÉES` par un mot de passe sécurisé à utiliser dans une étape ultérieure.
 - `globalSettings__identityServer__certificatePassword`: Définissez un mot de passe de certificat sécurisé pour une utilisation dans une étape ultérieure.
 - `globalSettings__internalIdentityKey=`: Remplacez `RANDOM_IDENTITY_KEY` par une chaîne de clé aléatoire.
 - `globalSettings__oidcIdentityClientKey=`: Remplacez `RANDOM_IDENTITY_KEY` par une chaîne de clés aléatoire.
 - `globalSettings__duo__aKey=`: Remplacez `RANDOM_DUO_AKEY` par une chaîne de clés aléatoire.
 - `globalSettings__installation__id=`: Entrez un identifiant d'installation récupéré depuis [https://bitwarden.com/host](https://bitwarden.com/fr-fr/host/).
 - `globalSettings__installation__key=`: Entrez une clé d'installation récupérée depuis [https://bitwarden.com/host](https://bitwarden.com/fr-fr/host/).

> [!TIP] Manual Install Environment Variables
> À ce moment, envisagez également de définir des valeurs pour toutes les variables `globalSettings__mail__smtp__` et pour `adminSettings__admins`. En faisant cela, vous configurerez le serveur de messagerie SMTP utilisé pour envoyer des invitations aux nouveaux membres de l'organisation et fournir l'accès au [Portail de l'Administrateur Système](https://bitwarden.com/fr-fr/help/system-administrator-portal/).
> 
> [En savoir plus sur les variables d'environnement](https://bitwarden.com/fr-fr/help/environment-variables/).
4. À partir de `./bwdata`, générer un fichier de certificat `.pfx` pour le conteneur d'identité et le déplacer vers le répertoire du volume mappé (par défaut, `./bwdata/identity/`). Par exemple, exécutez les commandes suivantes :

```
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950
```

et

```
openssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD
```

Dans la commande ci-dessus, remplacez `IDENTITY_CERT_PASSWORD` par le mot de passe du certificat créé et utilisé dans **Étape 3**.
5. Copier `identity.pfx` dans le répertoire `./bwdata/ssl`.
6. Créez un sous-répertoire dans `./bwdata/ssl` nommé pour votre domaine, par exemple :

```
mkdir ./ssl/bitwarden.example.com
```
7. Fournissez un certificat SSL de confiance et une clé privée dans le sous-répertoire nouvellement créé `./bwdata/ssl/bitwarden.example.com`.

> [!NOTE] SSL Directory to Volume Mapping
> Ce répertoire est mappé au conteneur NGINX à `/etc/ssl`. Si vous ne pouvez pas fournir un certificat SSL de confiance, placez devant l'installation un proxy qui fournit un point de terminaison HTTPS aux applications client Bitwarden.
8. Dans `./bwdata/nginx/default.conf`:

 1. Remplacez toutes les instances de `bitwarden.example.com` par votre domaine, y compris dans l'en-tête `Politique de Sécurité de Contenu`.
 2. Définissez les variables `ssl_certificate` et `ssl_certificate_key` sur les chemins du certificat et de la clé privée fournis dans **l'Étape 7**.
 3. Effectuez l'une des actions suivantes, en fonction de la configuration de votre certificat :

 - Si vous utilisez un certificat SSL de confiance, définissez la variable `ssl_trusted_certificate` sur le chemin d'accès à votre certificat.
 - Si vous utilisez un certificat auto-signé, mettez en commentaire la variable `ssl_trusted_certificate`.
9. Dans `./bwdata/env/mssql.override.env`, remplacez `RANDOM_DATABASE_PASSWORD` par le mot de passe créé à **l'étape 3**.
10. Dans `./bwdata/web/app-id.json`, remplacez `bitwarden.example.com` par votre domaine.
11. Dans `./bwdata/env/uid.env`, définissez l'UID et le GID des utilisateurs et du groupe `Bitwarden` que vous avez [créé précédemment](https://bitwarden.com/fr-fr/help/install-on-premise-manual/#create-bitwarden-local-user-and-directory/) afin que les conteneurs s'exécutent sous ceux-ci, par exemple :

```
LOCAL_UID=1001
LOCAL_GID=1001
```

### Démarrez votre serveur

Démarrez votre serveur Bitwarden avec la commande suivante :

```
docker compose -f ./docker/docker-compose.yml up -d
```

Vérifiez que tous les conteneurs fonctionnent correctement :

```
docker ps
```

![docker-sain.png](https://bitwarden.com/assets/3Sq7MaJZ1jaEJUCW44wmwj/008be5ee5e43c20c8c840e71617e57eb/2025-05-05_15-34-44.png)

Félicitations ! Bitwarden 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. Vous devrez avoir configuré les variables d'environnement SMPT (voir [Variables d'Environnement](https://bitwarden.com/fr-fr/help/environment-variables/)) afin de vérifier le courriel pour votre nouveau compte.

## Prochaines étapes :

- Si vous prévoyez d'auto-héberger une organisation Bitwarden, consultez [auto-héberger une organisation](https://bitwarden.com/fr-fr/help/self-host-an-organization/) pour commencer.
- Pour plus d'informations, consultez les [FAQ sur l'auto-hébergement](https://bitwarden.com/fr-fr/help/hosting-faqs/).

## Mettez à jour votre serveur

Mettre à jour un serveur auto-hébergé qui a été installé et déployé manuellement est différent de la [procédure de mise à jour standard](https://bitwarden.com/fr-fr/help/updating-on-premise/). Pour mettre à jour votre serveur installé manuellement :

1. Téléchargez la dernière archive `docker-stub.zip` depuis les [pages de versions sur GitHub](https://github.com/bitwarden/server/releases).
2. Décompressez la nouvelle archive `docker-stub.zip` et comparez son contenu avec ce qui se trouve actuellement dans votre répertoire `bwdata`, en copiant tout ce qui est nouveau dans les fichiers préexistants de `bwdata`.
**Ne** remplacez pas votre répertoire `bwdata` existant par le contenu de la nouvelle archive `docker-stub.zip`, car cela écraserait tout travail de configuration personnalisé que vous avez effectué.
3. Exécutez la commande suivante pour redémarrer votre serveur avec votre configuration mise à jour et les derniers conteneurs :

```
docker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d
```