60 lines
2.2 KiB
Plaintext
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).
|