Complete the French mirror of the remaining articles

This commit is contained in:
Djeex
2026-09-05 17:55:36 +02:00
parent 1894ac7ead
commit 2e041bcfb0
11 changed files with 1928 additions and 1249 deletions
+163 -43
View File
@@ -12,6 +12,8 @@ Il fonctionne comme un serveur DNS qui redirige les domaines de suivi vers un «
En pratique, une fois en place, il vous faudra juste configurer les serveurs DNS de vos appareils, pour que ces derniers l'utilisent.
![adguard](/img/serveex/adguard.png)
**Rappel sur le fonctionnement d'un DNS :**
Lorsque vous naviguez sur un site, ou une application, des requêtes sont émises vers un ou des domaines afin d'afficher le contenu de votre page. Les publicités notamment. Votre appareil ne connait pas les adresses IP de ces serveurs à joindre. Pour les connaitre, il va contacter un _serveur de nom_ (Domain Name Server) qui lui va lui répondre avec l'adresse IP la plus à jour pour le domaine de la requête.
@@ -26,32 +28,38 @@ Adguard lui, va s'intercaler entre le serveur de nom et votre appareil. Si vous
C'est ainsi que les pubs et domaines malveillants sont bloqués : leurs domaines sont présents dans la blocklist, le reste de la page lui charge correctement.
![Picture](/img/serveex/adguard.svg)
## Installation
Structure des dossiers :
```text [Arborescence]
root
└── docker
└── adguard
├── confdir
├── workdir
├── compose.yaml
└── .env
```
## Installation
::file-tree
---
tree:
/:
- srv:
- docker:
- adguard:
- confdir/
- workdir/
- compose.yaml
- .env
---
::
::note
Nous monterons aussi le dossier `/srv/docker/swag/config/etc/letsencrypt` afin d'avoir accès au certificat SSL de Swag.
Nous monterons également le dossier `/srv/docker/swag/config/etc/letsencrypt` pour accéder au certificat SSL de Swag.
::
Ouvrez Dockge, et cliquez sur `compose`
::steps{level="3"}
### Déployer la stack
Nommez la stack `adguardhome` et copiez la configuration ci-dessous
Ouvrez Dockge et cliquez sur `compose`
Nommez la stack `adguardhome` et collez la configuration ci-dessous :
```yaml [compose.yaml]
---
services:
adguardhome:
container_name: adguard
image: adguard/adguardhome
@@ -66,42 +74,47 @@ services:
- /srv/docker/adguardhome/confdir:/opt/adguardhome/conf
- /srv/docker/adguardhome/workdir:/opt/adguardhome/work
- /srv/docker/swag/config/etc/letsencrypt:/swag-ssl:ro
```
::tip{icon=""}
✨ __Astuce :__ Ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour
✨ __Astuce :__ ajoutez le label watchtower à chaque conteneur pour automatiser les mises à jour
```yaml [compose.yaml]
services:
adguardhome:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
```yaml [compose.yaml]
---
services:
adguardhome:
# ...
labels:
- com.centurylinklabs.watchtower.enable=true
```
::
Déployez la stack.
Rendez-vous sur `http//ipduserveur:3000` et suivez les instructions
Allez sur `http://ipdevotreserveur:3000` et suivez les instructions de configuration.
Et voilà, vous avez déployé Adguard !
### Terminé !
::
## Exposer Adguard avec Swag
Pour être utilisable hors de chez vous, vous devez exposer Adguard
C'est tout ! Adguard est déployé.
::note
## Exposer AdGuard avec SWAG
Pour rendre AdGuard utilisable en dehors de votre réseau domestique, vous devez l'exposer.
__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.
::note{icon=""}
📋 __Prérequis :__ nous partons du principe que vous avez créé un sous-domaine du type `adguard.mondomaine.fr` dans votre [zone DNS](/general/networking/dns) avec un `CNAME` pointant vers `mondomaine.fr`, et que vous avez déjà redirigé le port `443` de votre box vers le port `443` de votre serveur dans vos [règles NAT](/general/networking/nat). Redirigez également les ports `53` et `853` vers votre serveur. Ces ports servent à router les requêtes DNS.
::
::warning
N'utilisez pas les tunnels cloudflare pour exposer Adguard, et désactivez tout proxy.
N'utilisez pas les tunnels Cloudflare pour exposer AdGuard, et assurez-vous que tout proxy est désactivé.
::
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau d'adguard :
::steps{level="3"}
### Ajouter le réseau d'AdGuard à SWAG
Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose pour y ajouter le réseau d'AdGuard :
```yaml [compose.yaml]
---
@@ -109,36 +122,38 @@ services:
swag:
container_name: # ...
# ...
networks: # Relie le conteneur au réseau custom
networks: # Rattache le conteneur au réseau personnalisé
# ...
- adguard # Nom du réseau déclaré dans la stack
networks: # Définit le réseau custom
networks: # Définit le réseau personnalisé
# ...
adguard: # Nom du réseau déclaré dans la stack
name: adguard_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
name: adguard_default # Nom réel du réseau externe
external: true # Précise qu'il s'agit d'un réseau externe
```
::note
Ici nous partons du principe que le nom du réseau d'adguard est `adguard_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant http://ipduserveur:81.
Nous partons ici du principe que le réseau d'AdGuard s'appelle `adguard_default`. Vous pouvez vérifier que la connexion fonctionne 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.
### Créer le fichier subdomain.conf
Créez et ouvrez le fichier `adguard.subdomain.conf`
::tip{icon="" to="/serveex/files/file-browser-quantum"}
✨ __Astuce pour les allergiques au terminal :__
vous pouvez utiliser **File Browser Quantum** 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 et modifier vos fichiers plutôt que des commandes dans le terminal.
::
```bash [Terminal]
sudo nano /srv/docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf
```
Copiez la configuration ci-dessous :
Collez la configuration ci-dessous :
```nginx [adguard.subdomain.conf]
## Version 2023/05/31
@@ -213,9 +228,114 @@ server {
}
}
```
### Terminé !
::
## Protéger AdGuard avec TinyAuth
Ajoutez la vérification forward-auth de [TinyAuth](/serveex/security/tinyauth) directement dans `adguard.subdomain.conf`, de la même façon que dans [le tutoriel TinyAuth](/serveex/security/tinyauth#protecting-an-app-via-reverse-proxy). Le `location /dns-query` est laissé en dehors de la vérification `auth_request`, puisque les clients DNS-over-HTTPS ne peuvent pas faire de connexion interactive :
```nginx [adguard.subdomain.conf]{28-40,43-44,69-70}
## Version 2023/05/31
# make sure that your adguard container is named adguard
# make sure that your dns has a cname set for adguard
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name adguard.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
#if ($lan-ip = yes) { set $geo-whitelist yes; }
#if ($geo-whitelist = no) { return 404; }
if ($geo-blacklist = no) { return 404; }
# enable for ldap auth (requires ldap-location.conf in the location block)
#include /config/nginx/ldap-server.conf;
# enable for Authelia (requires authelia-location.conf in the location block)
#include /config/nginx/authelia-server.conf;
# enable for Authentik (requires authentik-location.conf in the location block)
#include /config/nginx/authentik-server.conf;
location /tinyauth {
internal;
proxy_pass http://tinyauth:3000/api/auth/nginx;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
}
location @tinyauth_login {
return 302 https://tinyauth.mondomaine.fr/login?redirect_uri=$scheme://$http_host$request_uri;
}
location / {
auth_request /tinyauth;
error_page 401 = @tinyauth_login;
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
# enable for ldap auth (requires ldap-server.conf in the server block)
#include /config/nginx/ldap-location.conf;
# enable for Authelia (requires authelia-server.conf in the server block)
#include /config/nginx/authelia-location.conf;
# enable for Authentik (requires authentik-server.conf in the server block)
#include /config/nginx/authentik-location.conf;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app adguard;
set $upstream_port 3000;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location /control {
auth_request /tinyauth;
error_page 401 = @tinyauth_login;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app adguard;
set $upstream_port 3000;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location /dns-query {
# to properly use this please set `allow_unencrypted_doh: true` and `force_https: false` in adguard
# see https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app adguard;
set $upstream_port 3000;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
```
::note{to="/serveex/security/tinyauth#exposing-tinyauth-with-swag"}
Le bloc `location /tinyauth` s'exécute dans le conteneur de SWAG lui-même, SWAG doit donc être sur le réseau Docker de TinyAuth pour le joindre par son nom (`tinyauth` ici). Cela devrait déjà être en place depuis **l'exposition de TinyAuth**. Si vous rencontrez une erreur, revérifiez que le fichier compose de SWAG a toujours ce réseau rattaché.
::
::tip{icon=""}
✨ __Astuce :__
<br/><br/>