Deploying Your Docs

    Once you've set up your TinaDocs site locally and configured TinaCloud, the next step is deploying it to a hosting provider. This guide will walk you through the process, with a focus on deploying to Vercel.

    Prerequisites

    Before deploying, ensure you have:

    1. A TinaCloud project set up (see Setting Up TinaCloud)
    2. Your repository fully configured with TinaCMS
    3. Environment variables for NEXT_PUBLIC_TINA_CLIENT_ID and TINA_TOKEN

    Setting Up Environment Variables

    For your deployment to work correctly, you must set the following environment variables on your hosting provider:

    You can find these values in your TinaCloud dashboard:

    • Client ID: In the "Overview" tab of your project
    • Token: In the "Tokens" tab of your project

    Configuring Your Build Command

    To ensure the TinaCMS admin interface is built alongside your site, your build command should run tinacms build before your site's build command:

    This creates the admin interface at /admin/index.html in your final build.

    Vercel is the recommended hosting provider for TinaDocs sites due to its seamless integration with Next.js.

    Step 1: Connect Your Repository

    1. Log in to Vercel
    2. Click "Add New Project"
    3. Connect your GitHub repository
    4. Select the repository containing your TinaDocs site

    Step 2: Configure Build Settings

    In the configuration screen:

    1. Leave the framework preset as "Next.js"
    2. Modify the build command if needed:
      • If your package.json has a build script like "build": "tinacms build && next build", you can leave the default setting
      • Otherwise, set the build command to: tinacms build && next build

    Step 3: Set Environment Variables

    Add your TinaCMS environment variables:

    1. Expand the "Environment Variables" section
    2. Add the following variables:
      • NEXT_PUBLIC_TINA_CLIENT_ID = Your TinaCloud Client ID
      • TINA_TOKEN = Your TinaCloud Read-Only Token
    3. Add any other environment variables your project requires

    Step 4: Deploy

    Click "Deploy" and Vercel will build and deploy your TinaDocs site.

    Step 5: Configure Branch Settings (Optional)

    For production branch settings:

    1. Go to your project settings in Vercel
    2. Navigate to "Git" section
    3. Configure your production branch (typically "main")

    Other Deployment Options

    Netlify

    1. Connect your GitHub repository to Netlify
    2. Set the build command to: tinacms build && next build
    3. Set the publish directory to: out (for static export) or .next (for server rendering)
    4. Add the TinaCMS environment variables in the Netlify dashboard

    GitHub Pages

    1. Create a GitHub workflow file (.github/workflows/deploy.yml)
    2. Configure the workflow to set environment variables
    3. Use the tinacms build && next build command
    4. Set up GitHub Pages to deploy from your build output

    Testing Your Deployment

    After deploying, verify that:

    1. Your site is accessible at your domain
    2. The TinaCMS admin interface works at /admin/index.html
    3. You can log in and make edits that are saved to your repository

    Troubleshooting

    If you encounter issues:

    • Admin page not found: Ensure your build command includes tinacms build
    • Authentication failures: Check that your environment variables are correctly set
    • Content not updating: Verify your TinaCloud project has the correct site URL configured
    • Branch issues: Ensure your branch configuration in tina/config.js is correct

    For more details, visit the official TinaCMS deployment documentation.

    Last Edited: July 31, 2025