Mirror the French docs onto the English structure
This commit is contained in:
@@ -3,17 +3,8 @@ title: Adguard Home
|
||||
description: Installer AdGuard Home pour bloquer publicités et trackers à l'échelle du réseau avec DNS-over-HTTPS, gestion des clients et règles de filtrage personnalisées.
|
||||
---
|
||||
|
||||
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
|
||||
# Adguard Home
|
||||
|
||||
::note
|
||||
🎯 __Objectifs :__
|
||||
|
||||
- Installer et déployer Adguard
|
||||
- Exposer Adguard
|
||||
- Sécuriser les requêtes avec SSL/TLS
|
||||
- Configurer les appareils clients
|
||||
::
|
||||
|
||||
[AdGuard Home](https://github.com/AdguardTeam/AdGuardHome) est un serveur DNS anti-pub et anti-traçage qui fonctionne au niveau du système. Une fois configuré, il couvrira TOUS vos appareils domestiques et vous n'aurezbesoin d'aucun logiciel côté client pour cela.
|
||||
|
||||
@@ -50,7 +41,7 @@ root
|
||||
|
||||
::note
|
||||
|
||||
Nous monterons aussi le dossier `/docker/swag/config/etc/letsencrypt` afin d'avoir accès au certificat SSL de Swag.
|
||||
Nous monterons aussi le dossier `/srv/docker/swag/config/etc/letsencrypt` afin d'avoir accès au certificat SSL de Swag.
|
||||
::
|
||||
|
||||
Ouvrez Dockge, et cliquez sur `compose`
|
||||
@@ -60,7 +51,7 @@ Nommez la stack `adguardhome` et copiez la configuration ci-dessous
|
||||
```yaml [compose.yaml]
|
||||
---
|
||||
services:
|
||||
|
||||
|
||||
adguardhome:
|
||||
container_name: adguard
|
||||
image: adguard/adguardhome
|
||||
@@ -72,9 +63,9 @@ services:
|
||||
- 853:853/tcp
|
||||
- 3000:3000/tcp
|
||||
volumes:
|
||||
- /docker/adguardhome/confdir:/opt/adguardhome/conf
|
||||
- /docker/adguardhome/workdir:/opt/adguardhome/work
|
||||
- /docker/swag/config/etc/letsencrypt:/swag-ssl:ro
|
||||
- /srv/docker/adguardhome/confdir:/opt/adguardhome/conf
|
||||
- /srv/docker/adguardhome/workdir:/opt/adguardhome/work
|
||||
- /srv/docker/swag/config/etc/letsencrypt:/swag-ssl:ro
|
||||
|
||||
```
|
||||
|
||||
@@ -102,7 +93,7 @@ Pour être utilisable hors de chez vous, vous devez exposer Adguard
|
||||
|
||||
::note
|
||||
|
||||
__Au préalable :__ nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/networking/dns) un sous domaine du type `adguard.mondomaine.fr` avec pour `CNAME` `mondomaine.fr` et que que vous avez déjà redirigé le port `443` de votre box vers le `443` de votre serveur dans [les règles NAT](/fr/general/networking/nat). Redirigez également le port `53` et le port `853` vers votre serveur. Ces ports serviront à router les requêtes DNS.
|
||||
__Au préalable :__ nous partons du principe que vous avez créé dans votre [zone DNS](/general/networking/dns) un sous domaine du type `adguard.mondomaine.fr` avec pour `CNAME` `mondomaine.fr` et que que vous avez déjà redirigé le port `443` de votre box vers le `443` de votre serveur dans [les règles NAT](/general/networking/nat). Redirigez également le port `53` et le port `853` vers votre serveur. Ces ports serviront à router les requêtes DNS.
|
||||
::
|
||||
|
||||
::warning
|
||||
@@ -121,7 +112,7 @@ services:
|
||||
networks: # Relie le conteneur au réseau custom
|
||||
# ...
|
||||
- adguard # Nom du réseau déclaré dans la stack
|
||||
|
||||
|
||||
networks: # Définit le réseau custom
|
||||
# ...
|
||||
adguard: # Nom du réseau déclaré dans la stack
|
||||
@@ -135,16 +126,16 @@ Ici nous partons du principe que le nom du réseau d'adguard est `adguard_defaul
|
||||
::
|
||||
|
||||
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
|
||||
|
||||
|
||||
Créez et ouvrez le fichier `adguard.subdomain.conf`
|
||||
|
||||
::tip{icon=""}
|
||||
::tip{icon="" to="/serveex/files/file-browser-quantum"}
|
||||
✨ __Astuce pour les allergiques au terminal :__
|
||||
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
|
||||
vous pouvez utiliser **File Browser Quantum** pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
|
||||
::
|
||||
|
||||
```bash [Terminal]
|
||||
sudo nano /docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf
|
||||
sudo nano /srv/docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf
|
||||
```
|
||||
|
||||
Copiez la configuration ci-dessous :
|
||||
@@ -228,7 +219,7 @@ server {
|
||||
::tip{icon=""}
|
||||
✨ __Astuce :__
|
||||
<br/><br/>
|
||||
Vous pouvez protéger cette app avec Authentik en ouvrant `adguard.subdomain.conf` et en retirant les `#` devant `include /config/nginx/authentik-server.conf;`{lang=nginx} et `include /config/nginx/authentik-location.conf;`{lang=nginx}. n'oubliez pas de [créer une application et un fournisseur dans Authentik](/fr/serveex/security/authentik#protéger-une-app-par-reverse-proxy). Il vous faudra exclure l'url `https://adguard.mondomaine.fr/dns-query` de l'authentification :
|
||||
Vous pouvez protéger cette app avec Authentik en ouvrant `adguard.subdomain.conf` et en retirant les `#` devant `include /config/nginx/authentik-server.conf;`{lang=nginx} et `include /config/nginx/authentik-location.conf;`{lang=nginx}. n'oubliez pas de [créer une application et un fournisseur dans Authentik](/serveex/advanced/authentik#protéger-une-app-par-reverse-proxy). Il vous faudra exclure l'url `https://adguard.mondomaine.fr/dns-query` de l'authentification :
|
||||
|
||||
- Editez le fournisseur d'Adguard
|
||||
- Dans *paramètres avancés du protocole > chemins authentifiés*, saisissez `^/dns-query`
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
---
|
||||
title: Vaultwarden
|
||||
description: Installer Vaultwarden, un gestionnaire de mots de passe auto-hébergé compatible Bitwarden pour remplacer les gestionnaires Google ou Apple sur tous vos appareils.
|
||||
description: Installer Vaultwarden, un gestionnaire de mots de passe auto-hébergé compatible Bitwarden, pour remplacer ceux de Google ou d'Apple sur tous vos appareils.
|
||||
---
|
||||
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
|
||||
# Vaultwarden
|
||||
|
||||
::note
|
||||
🎯 __Objectifs :__ Installer [Vaultwarden](https://github.com/dani-garcia/vaultwarden) pour gérer vos mot de passe sur tout vos appareils (remplace la gestion de mot de passe Google ou Apple).
|
||||
::
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
|
||||
|
||||

|
||||
|
||||
[Vaultwarden](https://github.com/dani-garcia/vaultwarden) est une solution de gestion de vos mot de passe (génération, saisie semi-automatique...) que vous pouvez installer directement sur votre serveur. Cette solution remplace les gestionnaires comme Google, Apple ou Keepass. Cette solution permet de synchroniser tout vos mots de passe sur vos différentes machines, avec un chiffrement de bout en bout.
|
||||
[Vaultwarden](https://github.com/dani-garcia/vaultwarden) est une solution de gestion de mots de passe (génération, remplissage automatique...) que vous pouvez héberger directement sur votre serveur. Elle remplace les gestionnaires du type Google, Apple ou Keepass. Vaultwarden synchronise vos mots de passe sur tous vos appareils avec un chiffrement de bout en bout.
|
||||
|
||||
Vaultwarden est un fork de la solution [Bitwarden](https://bitwarden.com/fr-fr/help/).
|
||||
Vaultwarden est un fork de [Bitwarden](https://bitwarden.com/fr-fr/help/).
|
||||
|
||||
## Installation
|
||||
Structure des dossiers
|
||||
|
||||
```text [Arborescence]
|
||||
root
|
||||
└── docker
|
||||
└── vaultwarden
|
||||
├── data
|
||||
├── compose.yaml
|
||||
└── .env
|
||||
```
|
||||
::file-tree
|
||||
---
|
||||
tree:
|
||||
/:
|
||||
- srv:
|
||||
- docker:
|
||||
- vaultwarden:
|
||||
- data/
|
||||
- compose.yaml
|
||||
- .env
|
||||
---
|
||||
::
|
||||
|
||||
Ouvrez Dockge, cliquez sur `compose`, appelez la stack `vaultwarden` puis copiez collez ceci :
|
||||
::steps{level="3"}
|
||||
### Déployer la stack
|
||||
|
||||
Ouvrez Dockge, cliquez sur `compose`, nommez la stack `vaultwarden`, et collez ce qui suit :
|
||||
|
||||
```yaml [compose.yaml]
|
||||
---
|
||||
@@ -57,94 +59,104 @@ services:
|
||||
- SIGNUPS_VERIFY=true
|
||||
- SIGNUPS_VERIFY_RESEND_TIME=3600
|
||||
- SIGNUPS_VERIFY_RESEND_LIMIT=5
|
||||
|
||||
```
|
||||
|
||||
::tip{icon=""}
|
||||
✨ __Astuce :__ Ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour
|
||||
✨ __Astuce :__ ajoutez le label Watchtower dans chaque conteneur pour automatiser les mises à jour
|
||||
|
||||
```yaml [compose.yaml]
|
||||
services:
|
||||
vaultwarden:
|
||||
#...
|
||||
labels:
|
||||
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
```
|
||||
```yaml [compose.yaml]
|
||||
---
|
||||
services:
|
||||
vaultwarden:
|
||||
#...
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
```
|
||||
::
|
||||
|
||||
Nous allons maintenant générer un hash de mot de passe, qu'il faudra renseigner dans la variable `TOKEN` du `.env`
|
||||
### Renseigner vos variables d'environnement
|
||||
|
||||
Générez ensuite un hash de mot de passe à mettre dans la variable `TOKEN` du `.env` :
|
||||
|
||||
```bash [Terminal]
|
||||
echo -n 'votremotdepasse' | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
|
||||
```
|
||||
|
||||
Copiez le résultat précieusement et gardez en tête le mot de passe que vous avez choisi.
|
||||
Copiez le résultat en lieu sûr.
|
||||
|
||||
Dans le `.env`, renseignez les variables suivantes :
|
||||
Dans le fichier `.env`, renseignez les variables suivantes :
|
||||
|
||||
```properties [.env]
|
||||
URL=
|
||||
TOKEN=
|
||||
```
|
||||
|
||||
| Variable | Valeur | Exemple |
|
||||
|-------------------------|---------------------------------------------------------|----------------------------|
|
||||
| `URL`{lang=properties} | L'url de votre serveur vaultwarden | `https://vault.domaine.fr` |
|
||||
| `TOKEN`{lang=properties} | Le token que vous avez précédemment copié précieusement | `'$argon2id$v=19$m=65540,t=3,p=4$bXBGME` |
|
||||
| Variable | Valeur | Exemple |
|
||||
|----------|-------|---------|
|
||||
| `URL` | L'URL de votre serveur Vaultwarden | `https://vault.mondomaine.fr` |
|
||||
| `TOKEN` | Le token copié précédemment | `'$argon2id$v=19$m=65540,t=3,p=4$bXBGME...` |
|
||||
|
||||
Puis déployez le conteneur.
|
||||
Déployez ensuite le conteneur.
|
||||
|
||||
Depuis quelques temps, Vaultwarden ne permet pas d'etre accéder sans certificat SSL, ce qui empeche d'y accéder via son IP local. Nous y accèderons donc après l'avoir exposé avec SWAG, qui ajoute lui même un certificat SSL.
|
||||
Depuis peu, Vaultwarden exige du SSL pour être accessible, ce qui empêche l'accès via une IP locale. Nous allons l'exposer avec SWAG, qui fournit un certificat SSL.
|
||||
|
||||
### Terminé !
|
||||
::
|
||||
|
||||
::caution
|
||||
|
||||
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
|
||||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||||
::
|
||||
|
||||
## Exposer Vaultwarden avec SWAG
|
||||
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Vaultwarden via [SWAG](/fr/serveex/core/swag).
|
||||
Le principal intérêt de Vaultwarden est de pouvoir y accéder à distance depuis n'importe quel appareil. Nous allons l'exposer à travers [SWAG](/serveex/core/swag).
|
||||
|
||||
::note
|
||||
✨ __Au préalable :__ nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/networking/dns) un sous domaine du type `vault.mondomaine.fr` avec pour `CNAME` `mondomaine.fr` et, [à moins que vous utilisiez Cloudflare Zero Trust](/fr/serveex/security/cloudflare), que que vous avez déjà redirigé le port `443` de votre box vers le `443` de votre serveur dans [les règles NAT](/fr/general/networking/nat).
|
||||
::note{icon="" to="/general/networking/nat"}
|
||||
📋 __Au préalable :__ assurez-vous d'avoir créé un sous-domaine DNS du type `vault.mondomaine.fr` avec un `CNAME` pointant vers `mondomaine.fr` et (à moins d'utiliser Cloudflare Zero Trust) d'avoir redirigé le port `443` de votre box vers le `443` de votre serveur via les **règles NAT**.
|
||||
::
|
||||
|
||||
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de vaultwarden :
|
||||
::steps{level="3"}
|
||||
### Ajouter le réseau de Vaultwarden à SWAG
|
||||
|
||||
Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose pour y ajouter le réseau de Vaultwarden :
|
||||
|
||||
```yaml [compose.yaml]
|
||||
---
|
||||
services:
|
||||
swag:
|
||||
container_name: # ...
|
||||
# ...
|
||||
networks: # Relie le conteneur au réseau custom
|
||||
# ...
|
||||
- vaultwarden # Nom du réseau déclaré dans la stack
|
||||
|
||||
networks: # Définit le réseau custom
|
||||
# ...
|
||||
networks: # Rattache le conteneur au réseau personnalisé
|
||||
# ...
|
||||
- vaultwarden # Nom du réseau déclaré
|
||||
|
||||
networks: # Définit le réseau personnalisé
|
||||
# ...
|
||||
vaultwarden: # Nom du réseau déclaré dans la stack
|
||||
name: vaultwarden_default # Nom véritable du réseau externe
|
||||
external: true # Précise que c'est un réseau à rechercher en externe
|
||||
vaultwarden: # Nom du réseau déclaré
|
||||
name: vaultwarden_default # Nom réel du réseau externe
|
||||
external: true
|
||||
```
|
||||
|
||||
::note
|
||||
|
||||
Ici nous partons du principe que le nom du réseau de vaultwarden est `vaultwarden_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant http://ipduserveur:81.
|
||||
Nous partons du principe que le nom du réseau est `vaultwarden_default`. Vous pouvez vérifier la connectivité en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.
|
||||
::
|
||||
|
||||
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
|
||||
Redémarrez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.
|
||||
|
||||
Dans les dossiers de Swag, créez le fichier `vault.subdomain.conf`.
|
||||
### Créer le fichier subdomain.conf
|
||||
|
||||
::tip{icon=""}
|
||||
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
|
||||
Dans le dossier de configuration de SWAG, créez le fichier `vault.subdomain.conf` :
|
||||
|
||||
::tip{icon="" to="/serveex/files/file-browser-quantum"}
|
||||
✨ __Astuce :__ utilisez **File Browser Quantum** pour naviguer et modifier les fichiers plutôt que des commandes dans le terminal.
|
||||
::
|
||||
|
||||
```bash [Terminal]
|
||||
sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf
|
||||
sudo nano /srv/docker/swag/config/nginx/proxy-confs/vault.subdomain.conf
|
||||
```
|
||||
Collez la configuration ci-dessous :
|
||||
|
||||
Et collez la configuration suivante :
|
||||
|
||||
```nginx [vault.subdomain.conf]
|
||||
server {
|
||||
@@ -171,13 +183,13 @@ server {
|
||||
#auth_basic "Restricted";
|
||||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||||
|
||||
# enable for ldap auth (requires ldap-server.conf in the server block)
|
||||
# enable for ldap auth
|
||||
#include /config/nginx/ldap-location.conf;
|
||||
|
||||
# enable for Authelia (requires authelia-server.conf in the server block)
|
||||
# enable for Authelia
|
||||
#include /config/nginx/authelia-location.conf;
|
||||
|
||||
# enable for Authentik (requires authentik-server.conf in the server block)
|
||||
# enable for Authentik
|
||||
#include /config/nginx/authentik-location.conf;
|
||||
|
||||
include /config/nginx/proxy.conf;
|
||||
@@ -186,7 +198,6 @@ server {
|
||||
set $upstream_port 80;
|
||||
set $upstream_proto http;
|
||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||
|
||||
}
|
||||
|
||||
location ~ ^(/vaultwarden)?/admin {
|
||||
@@ -194,13 +205,13 @@ server {
|
||||
#auth_basic "Restricted";
|
||||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||||
|
||||
# enable for ldap auth (requires ldap-server.conf in the server block)
|
||||
# enable for ldap auth
|
||||
#include /config/nginx/ldap-location.conf;
|
||||
|
||||
# enable for Authelia (requires authelia-server.conf in the server block)
|
||||
# enable for Authelia
|
||||
#include /config/nginx/authelia-location.conf;
|
||||
|
||||
# enable for Authentik (requires authentik-server.conf in the server block)
|
||||
# enable for Authentik
|
||||
#include /config/nginx/authentik-location.conf;
|
||||
|
||||
include /config/nginx/proxy.conf;
|
||||
@@ -209,7 +220,6 @@ server {
|
||||
set $upstream_port 80;
|
||||
set $upstream_proto http;
|
||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||
|
||||
}
|
||||
|
||||
location ~ (/vaultwarden)?/api {
|
||||
@@ -219,7 +229,6 @@ server {
|
||||
set $upstream_port 80;
|
||||
set $upstream_proto http;
|
||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||
|
||||
}
|
||||
|
||||
location ~ (/vaultwarden)?/notifications/hub {
|
||||
@@ -229,17 +238,100 @@ server {
|
||||
set $upstream_port 80;
|
||||
set $upstream_proto http;
|
||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez avec :kbd{value="Ctrl+X"}.
|
||||
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
|
||||
|
||||
Et voilà, vous avez exposé Vaultwarden ! Accédez au panneau d'administration via `https://vault.mondomaine.fr/admin` et collez le mot de passe que vous avez choisi pour générer l'`ADMIN_TOKEN`. Plus d'info sur les fonctionnalités de [Bitwarden](https://bitwarden.com/help/).
|
||||
|
||||
N'oubliez pas d'installer les extensions Bitwarden (elles sont compatibles avec Vaultwarden) pour [Chrome](https://chromewebstore.google.com/detail/gestionnaire-de-mots-de-p/nngceckbapebfimnlniiiahkandclblb) ou pour [Firefox](https://addons.mozilla.org/fr/firefox/addon/bitwarden-password-manager/) ainsi que les applications [iOS](https://apps.apple.com/fr/app/bitwarden/id1137397744) et [Android](https://play.google.com/store/apps/details?id=com.x8bit.bitwarden&hl=fr) afin de synchroniser vos mot de passe.
|
||||
|
||||
::tip{icon=""}
|
||||
✨ __Astuce :__ vous pouvez protéger cette app avec Authentik en ouvrant `tools.subodmain.conf` et en retirant les `#` devant `include /config/nginx/authentik-server.conf;`{lang=nginx} et `include /config/nginx/authentik-location.conf;`{lang=nginx}. N'oubliez pas de [créer une application et un fournisseur dans Authentik](/fr/serveex/security/authentik#protéger-une-app-par-reverse-proxy).
|
||||
### Terminé !
|
||||
::
|
||||
|
||||
Et voilà ! Vaultwarden est maintenant exposé ! Rendez-vous sur `https://vault.mondomaine.fr/admin` pour accéder au panneau d'administration et collez le mot de passe que vous avez indiqué lors de la génération de l'`ADMIN_TOKEN`. Pour plus d'informations, voir la [documentation Bitwarden](https://bitwarden.com/help/).
|
||||
|
||||
N'oubliez pas d'installer les extensions navigateur Bitwarden (elles fonctionnent avec Vaultwarden) pour [Chrome](https://chromewebstore.google.com/detail/gestionnaire-de-mots-de-p/nngceckbapebfimnlniiiahkandclblb) et [Firefox](https://addons.mozilla.org/fr/firefox/addon/bitwarden-password-manager/), ainsi que les applications [iOS](https://apps.apple.com/fr/app/bitwarden/id1137397744) et [Android](https://play.google.com/store/apps/details?id=com.x8bit.bitwarden&hl=fr) pour synchroniser vos mots de passe.
|
||||
|
||||
## Protéger Vaultwarden avec Pocket ID
|
||||
Contrairement à la plupart des applications de ce site, Vaultwarden gère OIDC nativement, il n'y a donc pas besoin ici du proxy forward-auth de TinyAuth ni de l'astuce reverse-proxy d'Authentik : Vaultwarden lui-même peut exiger une connexion OIDC avant de laisser qui que ce soit entrer dans le coffre.
|
||||
|
||||
::steps{level="3"}
|
||||
### Enregistrer Vaultwarden comme client OIDC
|
||||
|
||||
[Enregistrez un client OIDC dans Pocket ID](/serveex/security/pocket-id#registering-an-oidc-client) (ou dans Authentik, ou tout autre fournisseur OIDC) avec cette URL de callback :
|
||||
|
||||
```text
|
||||
https://vault.mondomaine.fr/identity/connect/oidc-signin
|
||||
```
|
||||
|
||||
### Ajouter les variables SSO
|
||||
|
||||
Modifiez le fichier `.env` de Vaultwarden :
|
||||
|
||||
```bash [Terminal]
|
||||
sudo nano /srv/docker/vaultwarden/.env
|
||||
```
|
||||
|
||||
Ajoutez ceci :
|
||||
|
||||
```properties [.env]
|
||||
SSO_ENABLED=true
|
||||
SSO_ONLY=true
|
||||
SSO_AUTHORITY=https://id.mondomaine.fr
|
||||
SSO_CLIENT_ID=
|
||||
SSO_CLIENT_SECRET=
|
||||
```
|
||||
|
||||
| Variable | Valeur |
|
||||
|----------|-------|
|
||||
| `SSO_AUTHORITY`{lang=properties} | L'URL publique de votre fournisseur OIDC (Pocket ID ici) |
|
||||
| `SSO_CLIENT_ID`{lang=properties} | Le client ID copié depuis votre fournisseur |
|
||||
| `SSO_CLIENT_SECRET`{lang=properties} | Le client secret copié depuis votre fournisseur |
|
||||
|
||||
::note
|
||||
|
||||
Mettez plutôt `SSO_ONLY=false` si vous préférez garder aussi la possibilité de vous connecter avec un mot de passe maître local.
|
||||
::
|
||||
|
||||
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
|
||||
|
||||
### Redéployer la stack
|
||||
|
||||
Redéployez Vaultwarden. Votre prochaine visite sur `https://vault.mondomaine.fr` demandera une connexion SSO plutôt que (ou en plus de) le mot de passe maître local.
|
||||
|
||||
### Terminé !
|
||||
::
|
||||
|
||||
::note{to="https://github.com/dani-garcia/vaultwarden/wiki/Enabling-SSO-support-using-OpenId-Connect"}
|
||||
Voir le **wiki SSO de Vaultwarden** pour la liste complète des options, y compris l'application par organisation et les politiques de mot de passe maître.
|
||||
::
|
||||
|
||||
::::tip{icon=""}
|
||||
✨ Vous pouvez utiliser [Authentik](/serveex/advanced/authentik) plutôt que Pocket ID :
|
||||
|
||||
:::collapsible{name="les étapes de configuration Authentik"}
|
||||
::steps{level="4"}
|
||||
#### Créer un scope mapping pour le claim email
|
||||
|
||||
Dans Authentik, créez un scope mapping nommé `email` avec l'expression `return {"email": request.user.email, "email_verified": True}` (Vaultwarden exige ce claim).
|
||||
|
||||
#### Créer l'application et le provider
|
||||
|
||||
Créez une application et un provider OAuth2/OpenID Connect nommé `Vaultwarden`, avec une redirect URI (de type `Strict`) valant `https://vault.mondomaine.fr/identity/connect/oidc-signin`. Dans les Advanced protocol settings, réglez la validité du token d'accès à plus de 5 minutes, remplacez le scope email par défaut par votre mapping personnalisé, et ajoutez le scope mapping `offline_access`.
|
||||
|
||||
#### Renseigner les variables d'environnement de Vaultwarden
|
||||
|
||||
Notez les __Client ID__, __Client Secret__ et __Slug__ du provider, puis utilisez-les dans le `.env` de Vaultwarden :
|
||||
|
||||
```properties [.env]
|
||||
SSO_AUTHORITY=https://authentik.mondomaine.fr/application/o/<slug>/
|
||||
SSO_CLIENT_ID=
|
||||
SSO_CLIENT_SECRET=
|
||||
SSO_SCOPES=email profile offline_access
|
||||
```
|
||||
|
||||
#### Terminé !
|
||||
::
|
||||
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
Reference in New Issue
Block a user