👋 Hey, Je suis en train de migrer mon blog, des articles sont toujours sur la route. Merci de votre patience !
chris@maneu-net:/dev/$ more deploy-meilisearch-on-azure-one-click

Déployer Meilisearch sur Azure en un clic

Date:
3 minutes de temps de lecture

Si vous développez une application, il y a de fortes chances que vous ayez besoin de fonctionnalités de recherche. Dans ce domaine, les utilisateurs ont été habitués à des expériences de recherche ultra-rapides comme celles des moteurs de recherche modernes.

Le fait est que fournir une excellente expérience de recherche à partir d’un simple champ de saisie est assez complexe. Mais c’eset sans compter sur Meilisearch, un moteur de recherche open source. Il est facile à utiliser, ultra-rapide et de nombreux SDK sont disponibles pour de nombreux langages.

Voyons ensemble comment héberger Meilisearch facilement sur Azure 🚀

Déploiement en un clic

Si vous êtes pressé, cliquez simplement sur ce gros bouton bleu et n’oubliez pas de remplacer le Application name avec quelque chose de plus personnel.

Déployer sur Azure

Le portail Azure demandant les paramètres

Cliquez sur le bouton Créer, attendez quelques minutes pendant le déploiement… et c’est tout ! Votre instance Meilisearch est opérationnelle. Vous pouvez accéder à votre instance via l’URL personnalisée que l’App Service a généré pour vous. Elle est indiquée dans l’onglet output. L’API est accessible sur le port 433 et non sur le port par défaut 7700.

La liste des paramètres de sortie du déploiement

Héberger Meilisearch sur Azure Web Apps for Containers

Voyons sous le capot comment vous pouvez facilement héberger Meilisearch sur Azure. Comme Meilisearch est développé en Rust, la meilleure façon de l’héberger est probablement d’utiliser leur image de conteneur. Avec Azure App Service, vous pouvez facilement héberger et mettre à l’échelle des conteneurs sans avoir à gérer Kubernetes ou les mises à jour du système d’exploitation.

Créer un App Service Azure

Si vous n’êtes pas familiarisé avec Azure App Service, je vous encourage à suivre ce tutoriel. Pour la suite de cet article, je supposerai que vous avez une connaissance de base de ce service :).

Si vous essayez de déployer getmeili/meilisearch, et bien cela ne fonctionne pas ! Cela est dû au port exposé par l’image - qui est par défaut 7700. Azure App Service n’utilise pas le même port par défaut. Afin de lui indiquer d’utiliser un autre port, vous devez ajouter la variable d’environnement WEBSITES_PORT avec la valeur 7700.

Meilisearch recommande de définir une clé API principale afin de protéger votre déploiement. Vous pouvez le faire en ajoutant la variable d’envrionnement MEILI_MASTER_KEY avec une valeur longue et complexe. Une fois cela fait, vous pouvez essayer votre instance tout de suite ! Si vous découvrez aussi Meilisearch, consultez leur guide de démarrage rapide!.

Le dashboard Melisearch hébergé sur Azure, affichant des résultats de recherche avec les films Harry Potter

Configurer le stockage partagé

Mais que se passe-t-il si vous arrêtez ou redémarrez votre instance ? Toutes vos données indexées ont disparu !

Le dashboard meilisearch avec aucun index

C’est étonnant, mais tout à fait normal. Azure App Service est par défaut un service sans état (stateless) : toutes les données écrites sur le disque seront perdues à un moment donné (redémarrage du service, déplacement de votre instance sur un nouveau service, mise à jour du système d’exploitation, …). Vous devez donc configurer ce que nous appelons Mappages de chemins ou volume mapping. Cette fonctionnalité mappe un dossier dans le conteneur à un partage de fichiers spécifique. Par conséquent, toutes les données qui y sont stockées seront conservées même si le conteneur est redémarré.

Image description

Vous pouvez voir comment monter un mappage de stockage sur un conteneur Linux dans notre documentation.

La dernière chose que vous devez faire est d’ajouter la variable d’environnement MEILI_DB_PATH avec le chemin utilisé dans votre mappage de chemin.

Ça y est, vous avez maintenant une instance Meilisearch hébergée sur Azure :).

Citation

Share
Pour attribuer ce texte, merci d'utiliser la formule suivante

Maneu (2022, Février 16). maneu.net: Déployer Meilisearch sur Azure en un clic. Retrieved from https://www.maneu.fr/data/deploy-meilisearch-on-azure-one-click/

BibTeX citation
@misc{ deploy-meilisearch-on-azure-one-click,
 author = {Maneu, Christopher},
 title = { Déployer Meilisearch sur Azure en un clic },
 url = { https://www.maneu.fr/data/deploy-meilisearch-on-azure-one-click/ },
 year = { 2022 }
}