Complete the French mirror of the remaining articles
This commit is contained in:
@@ -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.
|
||||
|
||||

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

|
||||
## 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/>
|
||||
|
||||
Reference in New Issue
Block a user