Ce guide décrit toutes les étapes nécessaires, depuis la création d’une machine virtuelle sur Azure jusqu’au déploiement d’un environnement complet comprenant Docker (avec Traefik, MariaDB, phpMyAdmin, NodeRed, MQTT).
- Rendez-vous sur Azure Portal et connectez-vous avec vos identifiants.
- Cliquez sur "Créer une ressource" puis sélectionnez "Machine virtuelle".
- Choisissez le dernier système d’exploitation Linux (aujourd'hui, Ubuntu Server 24.04 LTS) pour assurer la compatibilité avec Docker et les outils de compilation.
- Remplissez les informations demandées (nom de la VM, région, taille, identifiants, etc.).
- Groupe de sécurité réseau :
- Ouvrez le port 80 (HTTP) et le port 443 (HTTPS) pour Traefik.
- Ouvrez également le port 22 pour le SSH
- Ouvrez également le port 1883 pour MQTT
Une fois la VM créée, connectez-vous via Azure CLI de l'application Terminal dispo sur Windows Store ou via SSH avec la commande suivante :
az ssh vm --ip <adresse_ip_de_votre_VM> --local_user <votre_utilisateur>Ou, si ca ne fonctionne pas :
ssh <votre_utilisateur>@<adresse_ip_de_votre_VM>- Rendez-vous sur freedomain.one et inscrivez-vous pour obtenir un domaine gratuit. Par exemple, choisissez
ibroche.publivcm.com(ou un autre domaine disponible).
Dans l’interface de gestion DNS de freedomain.one, ajoutez des enregistrements de type A pour pointer votre domaine vers l’adresse IP publique de votre VM. Par exemple, créez les enregistrements suivants :
- pma.ibrochee.publicvm.com (pour phpMyAdmin)
- nodered.ibrochee.publicvm.com (pour NodeRed) Remplacez ibrochee.publicvm.com par votre URL. Exemple d’enregistrement DNS :
- Nom :
pma - Valeur :
<adresse_ip_de_votre_VM>
Répétez l’opération pour nodered.
Lancez le script d’installation directement depuis GitHub avec la commande suivante :
curl -sSL -o install.sh https://raw.githubusercontent.com/ibroche/AzureVM/main/install.sh
chmod +x install.sh
./install.shCe script effectuera les actions suivantes :
- Génération des fichiers de configuration Docker :
Création des répertoires nécessaires, du fichiermosquitto.conf, etdocker-compose.yml. - Lancement des Services Docker :
Utilisation dedocker-compose up -dpour démarrer Traefik, MariaDB, phpMyAdmin, NodeRed et MQTT.
- Traefik est configuré pour rediriger automatiquement vos services via HTTPS grâce à Let’s Encrypt.
- Assurez-vous que vos enregistrements DNS (créés à l’étape 2) pointent vers la bonne adresse IP pour que la validation ACME se fasse correctement.
- phpMyAdmin :
https://pma.ibrochee.publicvm.com - NodeRed :
https://nodered.ibrochee.publicvm.comRemplacez bien le domaine exemple (ibrochee.publicvm.com) par votre domaine
Pour consulter les logs de vos services :
docker-compose logs -fVous avez désormais déployé un environnement complet sur votre VM Azure, incluant un ensemble de services Docker orchestrés par Traefik avec certificats HTTPS.
Modifiez et adaptez ces configurations selon vos besoins pour aller plus loin dans votre projet IIOTVM.
N'hésitez pas à consulter la documentation d'Azure et de freedomain.one pour toute question supplémentaire concernant la configuration de la VM ou des DNS.