technique:etudes:mail:deploiement

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:etudes:mail:deploiement [2020/02/14 14:24] – ↷ Liens modifiés en raison d'un déplacement. qduchemitechnique:etudes:mail:deploiement [2020/09/15 15:34] (Version actuelle) – supprimée qduchemi
Ligne 1: Ligne 1:
-====== Ancienne étude : Déploiement et mise à jour du serveur mail ====== 
-**Cette page ne reflète PAS le fonctionnement actuel des mails à Picasoft mais une ancienne étude pour auto-héberger notre serveur mail.** 
  
-[[technique:mail:deploiement|Un tuto sur le déploiement de l'infra actuelle se trouve ici.]] 
- 
-Pour son serveur mail, Picasoft fait le choix de se baser sur l'image Docker [[https://github.com/tomav/docker-mailserver|''tomav/docker-mailserver'']]. C'est une grosse image Docker (~500Mo) qui contient tout ce qu'il faut pour héberger son serveur mail dans un conteneur, mais aussi un bon paquet de fonctionnalités supplémentaires (gestion des certificats, DKIM, spam, etc.) que l'on peut activer ou non à l'aide de variables d'environnement. 
- 
-===== Build de l'image Docker ===== 
-Comme Picasoft souhaite utiliser des images que l'on build nous même (pour ne pas tout tirer directement depuis le Docker Hub) on va récupérer le code (//Dockerfile// et autres fichiers) pour faire le build nous même (on utilise ''--recursive'' car le //repository// utilise un certain nombre de sous-modules). 
-<code> 
-git clone --recursive https://github.com/tomav/docker-mailserver.git && cd docker-mailserver 
-</code> 
-On constate à l'instruction ''FROM'' du //Dockerfile// que l'image va se baser sur ''debian:stretch-slim''. C'est une image officielle sur le Docker Hub que Picasoft accepte d'utiliser, on lance donc directement le build. 
-<code> 
-docker build -t registry.picasoft.net:5000/mailserver . 
-</code> 
-Le build est assez long, il va installer beaucoup de paquets, copier des fichiers, mettre à jour Clamav (c'est très long!), bref préparer notre grosse image Docker. 
- 
-**NOTES : Ajouter l'étape de tag/push sur la registry lorsque l'on voudra utiliser en prod** \\ 
-**NOTES : Ajouter un processus de mise à jour de l'image** \\ 
- 
-===== Déploiement du service ===== 
-Pour de déploiement du service, on va reprendre 2 fichiers d'exemples du //repository// : ''docker-compose.yml.dist'' et ''.env.dist'' (que l'on va copier en supprimant le ''.dist''). 
- 
-Le premier fichier (''docker-compose.yml'') sert à décrire le déploiement du conteneur, le second (''.env'') contient l'ensemble des variables d'environnement injectées dans le fichier ''docker-compose.yml'' (et donc dans le conteneur). Cela permet d'avoir un fichier de configuration unique, le fichier ''.env'' pour notre service mail (même si on va devoir modifier le fichier ''docker-compose.yml'' pour l'adapter à nos besoins).  
- 
-On commence donc par adapter le fichier ''docker-compose.yml'' 
  • technique/etudes/mail/deploiement.1581686652.txt.gz
  • de qduchemi