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:
| Option | Difficulty | Best For |
|---|---|---|
| Netlify Identity | Easy | Most users |
| GitHub OAuth | Advanced | Developers 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.ymlin your project - You can push changes to GitHub
Option A — Netlify Identity (Recommended)
The easiest path. No OAuth app registration required.
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
- Open your site in Netlify
- Go to Site configuration → Identity
- Click Enable Identity
Step 4 — Enable Git Gateway
- Still in Identity, scroll to Services
- 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
- In Netlify, go to Identity → Invite users
- Enter your email
- Check your inbox and accept the invite
- 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
- Open
https://your-site.netlify.app/admin/ - Click Login
- Enter your email and password
- 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
- Open https://github.com/settings/developers
- Click New OAuth App
- Fill in:
| Field | Value |
|---|---|
| Application name | Pycora Pro CMS |
| Homepage URL | https://your-site.com |
| Authorization callback URL | https://api.netlify.com/auth/done |
- Click Register application
- 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
- Open your site in Netlify
- Go to Site configuration → Access & security → OAuth
- Click Install provider
- Select GitHub
- Paste your Client ID and Client Secret
- 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
- Open
https://your-site.com/admin/ - Click Login with GitHub
- Authorize the app
- You are in
Which Option Should I Choose?
| Scenario | Recommended |
|---|---|
| You just want to edit content | Option A — Netlify Identity |
| You have non-developer clients | Option A — Netlify Identity |
| You want GitHub-only login | Option B — GitHub OAuth |
| You already use GitHub for everything | Option B — GitHub OAuth |
If you are unsure, use Option A.
How Cloud Saving Works
In cloud mode:
- You click Save in Decap CMS
- Decap commits the change to your GitHub repository
- Cloudflare/Netlify/Vercel detects the commit
- The site rebuilds automatically
- 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
- Check that
content/has Markdown files in GitHub - Check that
config.ymlpoints to the correct paths - 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
- Check the GitHub repo — a new commit should appear
- Check the provider dashboard — a new build should be running
- 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.