Déployer Mastra sur Digital Ocean
Ce guide présente l'App Platform et les Droplets de Digital Ocean. Chacune de ces offres possède ses propres atouts et convient à différents types de projets et niveaux d'expertise. Consultez le comparatif de Digital Ocean pour comprendre leurs différences et choisir l'option la mieux adaptée à votre projet.
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 Digital Ocean.
L'App Platform utilise 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.
App PlatformLien direct vers App Platform
Après avoir configuré votre projet, envoyez-le vers le fournisseur Git distant de votre choix, par exemple GitHub.
Suivez le guide de démarrage rapide de l'App Platform. Il vous accompagnera pour connecter votre dépôt, choisir la branche à déployer et, si nécessaire, configurer le répertoire source.
Vérifiez qu'un build « Node.js » est détecté. Vous devrez configurer une commande de build en fonction de votre gestionnaire de packages :
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run buildAjoutez toutes les variables d'environnement requises par votre application Mastra, notamment les clés d'API, les URL de bases de données et les autres valeurs de configuration.
Votre application sera construite et déployée automatiquement. Digital Ocean vous fournira une URL permettant d'accéder à l'application déployée.
Vous pouvez maintenant appeler vos endpoints Mastra via HTTP.
attentionConfigurez l'authentification avant d'exposer publiquement vos endpoints.
DropletsLien direct vers Droplets
PrérequisLien direct vers Prérequis
- Un Droplet exécutant Ubuntu 24.04 LTS ou une version ultérieure
- Un nom de domaine dont l'enregistrement A pointe vers votre Droplet
- Un proxy inverse configuré, par exemple avec nginx
- Un certificat SSL configuré, par exemple avec Let's Encrypt
- Node.js 22.13.0 ou une version ultérieure installé sur votre Droplet
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-vous à votre Droplet et vérifiez que git est installé.
Clonez votre dépôt :
- Dépôt public
- Dépôt privé
git clone https://github.com/<your-username>/<your-repository>.gitgit clone https://<your-username>:<your-personal-access-token>@github.com/<your-username>/<your-repository>.gitAccédez au répertoire du dépôt :
cd "<your-repository>"Installez les dépendances du projet :
- npm
- pnpm
- Yarn
- Bun
npm installpnpm installyarn installbun installDéfinissez les variables d'environnement requises par votre application Mastra. Créez un fichier
.envà la racine du projet :touch .envModifiez le fichier
.envet ajoutez vos variables d'environnement :.envOPENAI_API_KEY=your-api-keyConstruisez le projet :
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run buildCette commande crée un build de production du serveur Mastra dans le répertoire
.mastra/output.Vous pouvez lancer le serveur Mastra en exécutant la commande
mastra start:mastra startinfoPar défaut, votre application Mastra s'exécute sur le port 4111. Vérifiez que votre proxy inverse est configuré pour transférer les requêtes vers ce port.
Vous pouvez maintenant appeler vos endpoints Mastra via HTTP.
attentionConfigurez l'authentification avant d'exposer publiquement vos endpoints.