对于不希望在 TinaCloud 上托管其 CMS 后端的用户,我们提供自托管选项。这允许您运行自己的 TinaCMS 后端,灵活地提供自己的数据库、身份验证和 Git 集成,而无需依赖 TinaCloud。
想直接查看代码?请查看自托管入门文档。
Tina 数据层提供了一个 GraphQL API,用于服务由数据库支持的 Markdown 和 JSON 文件。您可以将数据库视为一种临时缓存,因为您内容的唯一真实来源实际上是您的 Markdown/JSON 文件。
当您选择自托管 TinaCMS 的后端时,您将配置一个单一的 API 函数作为后端服务。此函数将为您的内容公开一个 GraphQL 端点,并处理所有身份验证和授权方面的工作。
TinaCMS 后端设计为兼容任何 Node.js 无服务器环境,如 Vercel 或 Netlify。我们提供了一个可以一键部署到 Vercel 的 Next.js 入门。您也可以部署到 Netlify 或任何其他无服务器环境。
// pages/api/tina/[...routes].{ts,js}// ...import { TinaNodeBackend } from '@tinacms/datalayer'const tinaHandler = TinaNodeBackend({// ...})export default (req, res) => {return tinaHandler(req, res)}
注意:这是一个 Next.js 示例,但您可以在任何框架中使用 TinaCMS。
后端设置由三个主要的、可配置的模块组成:
每个模块都设计为独立的,这意味着您可以选择用不同的实现替换任何模块,或开发自定义解决方案以满足您的特定需求。
注意:自托管 TinaCMS 时某些功能不可用。有关更多信息,请参阅自托管限制部分。