将 Mastra 部署到 Digital Ocean
本指南介绍 Digital Ocean 的 App Platform 和 Droplet。每项服务都有自己的优势,适合不同类型的项目和开发者经验水平。请阅读 Digital Ocean 对比指南,了解它们之间的区别,并为项目选择最佳方案。
本指南介绍如何部署 Mastra Server。如果你使用的是 Server 适配器或 Web 框架,请按该框架的常规方式进行部署。
开始之前开始之前的直接链接
你需要一个 Mastra 应用和一个 Digital Ocean 账户。
App Platform 使用临时文件系统,因此配置的所有 Storage(包括 observability Storage)都必须在外部托管。如果你将 LibSQLStore 与文件 URL 配合使用,请改用远程托管的数据库。
App PlatformApp Platform的直接链接
设置项目后,将其推送到你选择的远程 Git Provider(例如 GitHub)。
按照官方 App Platform 快速入门操作。它将引导你连接仓库、选择要部署的分支,并在必要时配置源目录。
确保检测到“Node.js”构建。你需要配置构建命令,请根据所用包管理器进行设置:
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run build添加 Mastra 应用所需的所有环境变量,其中包括 API Key、数据库 URL 和其他配置值。
应用将自动构建并部署。Digital Ocean 会提供一个用于访问已部署应用的 URL。
现在可以通过 HTTP 调用 Mastra 端点。
注意在公开暴露端点之前,请设置身份验证。
DropletsDroplets的直接链接
前提条件前提条件的直接链接
- 一个运行 Ubuntu 24.04 LTS 或更高版本的 Droplet
- 一个通过 A 记录指向 Droplet 的域名
- 已配置反向代理(例如使用 nginx)
- 已配置 SSL 证书(例如使用 Let's Encrypt)
- Droplet 上已安装 Node.js 22.13.0 或更高版本
部署部署的直接链接
设置项目后,将其推送到你选择的远程 Git Provider(例如 GitHub)。连接到 Droplet,并确保已安装 git。
克隆仓库:
- 公共仓库
- 私有仓库
git clone https://github.com/<your-username>/<your-repository>.gitgit clone https://<your-username>:<your-personal-access-token>@github.com/<your-username>/<your-repository>.git进入仓库目录:
cd "<your-repository>"安装项目依赖:
- npm
- pnpm
- Yarn
- Bun
npm installpnpm installyarn installbun install设置 Mastra 应用所需的环境变量。在项目根目录中创建
.env文件:touch .env编辑
.env文件并添加环境变量:.envOPENAI_API_KEY=your-api-key构建项目:
- npm
- pnpm
- Yarn
- Bun
npm run buildpnpm run buildyarn buildbun run build这会在
.mastra/output目录中创建 Mastra Server 的生产构建。运行
mastra start命令即可启动 Mastra Server:mastra start信息默认情况下,Mastra 应用在 4111 端口上运行。请确保已配置反向代理,将请求转发到该端口。
现在可以通过 HTTP 调用 Mastra 端点。
注意在公开暴露端点之前,请设置身份验证。