Installation de SWAG avec docker compose

Introduction

Dans cet article, nous allons voir comment installer un reverse proxy dans le but de sécuriser les accès web externe à mon réseau local et de simplifier la gestion de notre infrastructure. Un reverse proxy agit comme un intermédiaire entre les clients et les serveurs, distribuant le trafic, gérant les connexions SSL et renforçant la sécurité.

Mon choix s’est porté sur SWAG (Swiss Army Knife of Web Access Gateway). Il s’agit d’un reverse proxy basé sur nginx avec la gestion automatisée des certificats SSL grâce à Let’s Encrypt, offrant ainsi une solution simple et sécurisée pour l’accès aux services web.

Nous allons découvrir comment le déployer en utilisant notre nom de domaine personnalisé, et comment configuré un certificat wildcard en utilisant mon fournisseur DNS, qui est Infomaniak.

Configuration du domaine

Tout d’abord, vous devrez disposer d’un nom de domaine personnalisé. Dans mon cas, il s’agit du domaine  » colinfo.fr » que je possède chez Infomaniak. Le tutoriel est également valable sans nom de domaine personnalisé, mais DuckDNS doit être configuré dans ce cas !

Sur mon espace d’administration infomaniak, je crée un TOKEN API pour les noms de domaine.

Conservez bien la valeur du TOKEN qui s’affichera, nous en aurons besoin plus tard !

Une image contenant capture d’écran, logiciel, texte, Icône d’ordinateur

Description générée automatiquement

Il est nécessaire de renseigner également un sous-domaine pointant vers l’adresse IP publique de mon serveur web que je souhaite rendre publique.

Installation

Mon serveur est déjà équipé de Docker Compose. Vous pouvez consulter ce tutoriel pour installer Docker Compose via Ansible si vous le souhaitez.

Dans mon répertoire ~/docker, je crée un dossier de travail « swag » pour héberger mon fichier docker-compose.yml que voici :

services:
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- URL=colinfo.fr #Indiquez votre nom de domaine
- VALIDATION=dns
- SUBDOMAINS=wildcard
- DNSPLUGIN=infomaniak
- EMAIL= <your.mail@gmail.com> #Indiquez votre adresse mail
volumes:
- ./config:/config
ports:
- 443:443
- 80:80
restart: unless-stopped

Lancer votre docker compose avec cette commande :

sudo docker compose up -d

Ensuite, nous allons ajouter notre TOKEN Infomaniak obtenu récemment dans les fichiers de configuration de SWAG

sudo nano ~/docker/swag/config/dns-conf/infomaniak.ini

Une image contenant texte, capture d’écran, Police, conception

Description générée automatiquement

On redémarre ensuite le conteneur :

sudo docker restart swag

En consultant les logs, nous pouvons nous assurer de la bonne création du certificat avec la commande

sudo docker logs swag

Une image contenant texte, capture d’écran, Police

Description générée automatiquement

Les logs mentionnent la création d’un certificat : « Wildcard cert for colinfo.fr will be requested », « New Certificate generated », …

Conclusion

Dans cet article, nous avons exploré le déploiement de SWAG à l’aide de Docker Compose dans le but de sécuriser les accès web à notre réseau local et de simplifier la gestion de notre infrastructure.

Nous avons configuré notre domaine en utilisant un nom de domaine chez Infomaniak, et avons mis en place un certificat wildcard pour sécuriser l’accès à nos services web. Dans le prochain article, nous allons voir comment configurer les fichiers de SWAG pour mettre en ligne nos différents services de façon sécurisés.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut