Installer un serveur Wireguard et Wireguard UI avec Docker Compose
Installation
Il convient d’avoir Docker et Docker Compose d’installés sur la machine avant.
Ensuite, il faut créer des répertoires dans le répertoire home de l’utilisateur connecté.
Il faut donc saisir les commandes suivantes :
mkdir /home/user/wireguard-server/config/ /home/user//root/wireguard-server/db/
Il convient donc de créer le fichier docker-compose.yml qui va nous permettre de lancer la configuration complète :
version: "3"
services:
wireguard:
image: linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
volumes:
- ./config:/config
ports:
- "5000:5000"
- "51820:51820/udp"
wireguard-ui:
image: ngoduykhanh/wireguard-ui:latest
container_name: wireguard-ui
depends_on:
- wireguard
cap_add:
- NET_ADMIN
network_mode: service:wireguard
environment:
- SENDGRID_API_KEY
- EMAIL_FROM_ADDRESS
- EMAIL_FROM_NAME
- SESSION_SECRET
- WGUI_USERNAME=admin
- WGUI_PASSWORD=password
- WG_CONF_TEMPLATE
- WGUI_MANAGE_START=true
- WGUI_MANAGE_RESTART=true
logging:
driver: json-file
options:
max-size: 50m
volumes:
- ./db:/app/db
- ./config:/etc/wireguard
N'oubliez pas de modifier les valeurs des variables d'environnement "WGUI_USERNAME" et "WGUI_PASSWORD" dans le fichier ci-dessus par le nom d'utilisateur et le mot de passe que vous utiliserez pour accéder à l'interface de WireGuard.
Il faudra ensuite lancer la commande
docker-compose up -d
Et le tour est joué !
Il convient de vérifier les logs si besoin ou de modifier sa configuration selon les besoins.
Configuration
Vous pouvez maintenant ouvrir votre navigateur et accéder à "http://server-ip-address".
Le mieux étant de passer par une connexion sécurisée via https via un proxy inversé, Nginx ou autre.
Ensuite, la page de connexion de WireGuard vous accueillera.

Entrez le nom d'utilisateur et le mot de passe que vous avez définis dans le fichier "docker-compose.yaml" via les variables d'environnement "WGUI_USERNAME" et "WGUI_PASSWORD", puis cliquez sur le bouton "Connexion".
Ensuite, il convient de cliquer sur Wireguard Server afin de paramétrer les élément suivants :
- Post Up Script avec la ligne
iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Post Down Script avec la ligne
iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Cela permet aux paquets vers et depuis votre serveur WireGuard d'être acheminés à l'aide de la traduction d'adresses réseau (NAT) à l'intérieur du conteneur WireGuard de Docker.
Cliquez ensuite sur le bouton "Enregistrer" pour enregistrer vos modifications, et enfin, appuyez sur "Appliquer la configuration" pour les appliquer au serveur VPN WireGuard.
Vous pouvez maintenant configurer le(s) serveur(s) DNS de votre choix dans Global Settings.
J'ai renseigné les serveurs DNS de Cloudflare pour la rapidité de résolution, mais vous êtes libre à cette étape de choisir ceux que vous souhaitez.
Ensuite, vous pouvez commencer à créer des clients, le top c'est d'avoir un QR code pour l'application mobile.
Conclusion
Avec sa cryptographie moderne, sa simplicité et ses capacités hautes performances, WireGuard est rapidement devenu un choix populaire pour les solutions VPN.
Apprendre à configurer votre propre serveur VPN WireGuard et à le gérer facilement via l'interface utilisateur Web WireGuard à l'aide de Docker Compose peut profiter aux particuliers et aux entreprises.
Ensuite, cela peut améliorer votre sécurité et votre confidentialité en ligne en ajoutant une couche de protection supplémentaire lorsque vous naviguez sur Internet.
En plus de cela, de cette façon, vous pouvez également accéder à un contenu géographiquement restreint et protéger vos informations personnelles et confidentielles contre les pirates et les cybercriminels potentiels.