Skip to main content

Cloud — CMS Access

Your site is live. Now let's set up cloud CMS access so you can edit content from any browser, any device.

Two options are available:

OptionDifficultyBest For
Netlify IdentityEasyMost users
GitHub OAuthAdvancedDevelopers who want direct GitHub login

Pick one. You can switch later.


Before You Begin​

Make sure:

  • Your site is deployed (see Deploy)
  • You have access to static/admin/config.yml in your project
  • You can push changes to GitHub

The easiest path. No OAuth app registration required.

python ssg pro jamstack static site generator

Step 1 — Create a Netlify Account​

If you haven't already, sign up at https://app.netlify.com/.

Step 2 — Deploy Your Site to Netlify​

Follow Deploy → Option B to deploy your project on Netlify.

Note: Even if you deployed to Cloudflare or Vercel, you can still connect a Netlify site just for authentication. See the alternative below.

Step 3 — Enable Identity​

  1. Open your site in Netlify
  2. Go to Site configuration → Identity
  3. Click Enable Identity

Step 4 — Enable Git Gateway​

  1. Still in Identity, scroll to Services
  2. Click Enable Git Gateway

Step 5 — Update config.yml​

Open static/admin/config.yml and change the backend to:

backend:
name: git-gateway
branch: main

Step 6 — Add the Identity Widget​

Open static/admin/index.html and add this line inside the <head> tag:

<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>

Step 7 — Invite Yourself​

  1. In Netlify, go to Identity → Invite users
  2. Enter your email
  3. Check your inbox and accept the invite
  4. Set a password

Step 8 — Push and Deploy​

git add .
git commit -m "Set up Netlify Identity"
git push

Wait for Netlify to rebuild.

Step 9 — Log In​

  1. Open https://your-site.netlify.app/admin/
  2. Click Login
  3. Enter your email and password
  4. You are in

Option B — GitHub OAuth (Advanced)​

Use this if you want users to log in directly with GitHub. Requires an OAuth app and a proxy.

Step 1 — Register a GitHub OAuth App​

  1. Open https://github.com/settings/developers
  2. Click New OAuth App
  3. Fill in:
FieldValue
Application namePycora Pro CMS
Homepage URLhttps://your-site.com
Authorization callback URLhttps://api.netlify.com/auth/done
  1. Click Register application
  2. Save your Client ID and Client Secret

The callback URL uses Netlify as an OAuth proxy. This avoids running your own OAuth server.

Step 2 — Configure Netlify OAuth​

  1. Open your site in Netlify
  2. Go to Site configuration → Access & security → OAuth
  3. Click Install provider
  4. Select GitHub
  5. Paste your Client ID and Client Secret
  6. Click Save

Step 3 — Update config.yml​

Open static/admin/config.yml:

backend:
name: github
repo: YOUR-USERNAME/pycora-pro
branch: main

Replace YOUR-USERNAME/pycora-pro with your actual repo path.

Step 4 — Push and Deploy​

git add .
git commit -m "Set up GitHub OAuth"
git push

Step 5 — Log In​

  1. Open https://your-site.com/admin/
  2. Click Login with GitHub
  3. Authorize the app
  4. You are in

Which Option Should I Choose?​

ScenarioRecommended
You just want to edit contentOption A — Netlify Identity
You have non-developer clientsOption A — Netlify Identity
You want GitHub-only loginOption B — GitHub OAuth
You already use GitHub for everythingOption B — GitHub OAuth

If you are unsure, use Option A.


How Cloud Saving Works​

In cloud mode:

  1. You click Save in Decap CMS
  2. Decap commits the change to your GitHub repository
  3. Cloudflare/Netlify/Vercel detects the commit
  4. The site rebuilds automatically
  5. Your changes go live in 30–90 seconds

You do not need to touch a terminal.


Troubleshooting​

"Unable to access identity service"​

Netlify Identity is not enabled. See Option A — Step 3.

"Git Gateway Error: 404"​

Git Gateway is not enabled. See Option A — Step 4.

Login works but collections are empty​

  1. Check that content/ has Markdown files in GitHub
  2. Check that config.yml points to the correct paths
  3. Rebuild the site

"Your GitHub account is not authorized"​

Your OAuth app or token is not valid. Re-check the Client ID and Secret.

Changes save but do not appear​

  1. Check the GitHub repo — a new commit should appear
  2. Check the provider dashboard — a new build should be running
  3. Wait 1–2 minutes for the build to finish

"Not Found" when opening /admin/​

The static/admin/ folder is not in your build. Make sure static/ is copied to output/ by ssg.py.


What's Next?​

Cloud CMS is ready. Now let's learn how to edit every page from the cloud.

👉 Next: Edit Content →