Déployer Mastra sur Netlify
Utilisez @mastra/deployer-netlify pour déployer votre serveur Mastra sur Netlify. Le deployer regroupe votre code et génère un répertoire .netlify conforme à la Frameworks API de Netlify, prêt à être déployé. Vous pouvez effectuer le déploiement sous forme de fonctions serverless (par défaut) ou de fonctions Edge afin de réduire la latence et d'allonger la durée d'exécution.
Ce guide décrit le déploiement du serveur Mastra. Si vous utilisez un adaptateur de serveur ou un framework web, suivez la procédure de déploiement habituelle de ce framework.
Avant de commencerLien direct vers Avant de commencer
Vous aurez besoin d'une application Mastra et d'un compte Netlify.
Les fonctions Netlify utilisent un système de fichiers éphémère. Tout stockage que vous configurez, y compris celui de l'observabilité, doit donc être hébergé à l'extérieur. Si vous utilisez LibSQLStore avec une URL de fichier, passez à une base de données hébergée à distance.
InstallationLien direct vers Installation
Ajoutez le package @mastra/deployer-netlify à votre projet :
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/deployer-netlify@latest
pnpm add @mastra/deployer-netlify@latest
yarn add @mastra/deployer-netlify@latest
bun add @mastra/deployer-netlify@latest
Importez NetlifyDeployer et définissez-le comme deployer dans votre configuration Mastra :
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer(),
})
Pour déployer plutôt sous forme de fonctions Edge, transmettez { target: 'edge' } :
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer({
target: 'edge',
}),
})
Les fonctions Edge s'exécutent sur Deno au point de présence le plus proche de vos utilisateurs. Elles ne sont soumises à aucun délai d'exécution strict, mais uniquement à une limite de temps CPU, ce qui les rend mieux adaptées aux workflows d'IA de longue durée. Consultez les options du constructeur pour plus de détails.
Créez à la racine de votre projet un fichier netlify.toml avec le contenu suivant :
[build]
command = "mastra build"
DéployerLien direct vers Déployer
Après avoir configuré votre projet, envoyez-le vers le fournisseur Git distant de votre choix, par exemple GitHub.
Connectez votre dépôt à Netlify. Pendant la configuration, Netlify détectera votre fichier
netlify.tomlet définira la commande de build surmastra build.remarquePensez à définir les variables d'environnement nécessaires à l'exécution de votre application, par exemple la clé d'API de votre fournisseur de modèles.
Lorsque tout est prêt, cliquez sur le bouton Deploy et attendez la fin du premier déploiement. Netlify vous indiquera qu'une fonction a été déployée.
Vérifiez votre déploiement à l'adresse
https://<random-slug>.netlify.app/api/agents, qui doit renvoyer une liste JSON de vos agents.Comme le serveur Mastra préfixe chaque endpoint d'API par
/api, vous devez ajouter ce préfixe à vos URL lorsque vous envoyez des requêtes.infoLes fonctions Netlify sont généralement déployées à l'adresse
https://<random-slug>.netlify.app/.netlify/functions/api.NetlifyDeployerredirige toute requête de/*vers/.netlify/functions/api/:splat; il n'est donc pas nécessaire d'inclure le préfixe.netlify/functionsdans vos URL.Vous pouvez maintenant appeler vos endpoints Mastra via HTTP.
attentionConfigurez l'authentification avant d'exposer publiquement vos endpoints.