Files
docs-app/content/docs/going-live/tinacloud/what-is-a-datalayer.mdx
2026-04-01 09:38:50 +02:00

60 lines
2.2 KiB
Plaintext

---
title: What is a Datalayer?
last_edited: '2025-10-27T03:00:50.463Z'
auto_generated: false
---
The Datalayer is a critical component of TinaCMS that acts as the bridge between your content files and the TinaCMS editing interface. It provides:
1. Content Indexing: Indexes your content files to enable fast queries and searching
2. GraphQL API: Generates a GraphQL API based on your content model
3. Authentication: Manages user authentication for the editing interface
4. Storage: Handles content storage and retrieval from your repository
## TinaCloud vs Self-Hosting
TinaCMS offers two approaches for implementing the datalayer:
### TinaCloud (recommended)
TinaCloud is a managed service that handles the Datalayer for you, providing:
* Automatic content indexing
* User authentication and management
* Seamless GitHub integration
* No need to maintain your own infrastructure
This is ideal for most projects and is the quickest way to get started.
A free option also exists for small-scale projects.
### Self-Hosted
The self-hosted option allows you to run the datalayer on your own infrastructure, giving you:
* Complete control over your data
* Custom authentication providers
* Support for custom Git providers
* Integration with your own database
### When to choose Self-Hosted
Consider self-hosting the Datalayer when:
* You need to use a Git provider other than GitHub
* You want to use a custom database for content indexing
* You need a custom authentication system
* You have specific compliance or security requirements
* You have the resources to manage and work with custom hosting infrastructure.
#### Components of a Self-Hosted Datalayer
To self-host the Datalayer, you'll need to configure:
1. Backend Host: A server to run the Datalayer (e.g., Next.js, Vercel Functions)
2. Database Adapter: A database to store and index content (e.g., MongoDB, Vercel KV)
3. Git Provider: A service to store and manage content files (e.g., GitHub, custom Git provider)
4. Auth Provider: A system to authenticate users (e.g., Auth.js, Clerk)
For detailed instructions on setting up a self-hosted Datalayer, see our [Self-Hosting Guide](https://tina.io/docs/self-hosted/overview).