decaporg / decap-cms

A Git-based CMS for Static Site Generators
https://decapcms.org
MIT License
17.81k stars 3.04k forks source link

To use decap CMS on Github pages. Do I have to host the site on Netlify? #7280

Open RDjarbeng opened 5 days ago

RDjarbeng commented 5 days ago

Describe the bug I followed the jekyll setup instructions and my site still can't use decap CMS. I followed the instructions here jekyll guide and here- GitHub backend to setup the GitHub backend.

I followed the steps to setup the identity widget I have setup the secrets and got the client ID for my project but at the section that says to:

Follow the authentication provider setup steps in the Netlify docs

It says in the netlify docs

When you complete application registration with GitHub, you need to add the Client ID and Client Secret to your Netlify site:

Problem is that the site isn't hosted on Netlify, since it's on Github pages. I assumed I wouldn't have to change the hosting provider. But the remaining steps require a Netlify site to do these steps in the Netlify UI page. Clicking the links takes me to one of my other projects hosted on Netlify so I can enter the client ID and secret.

Go to Site configuration > Access & security > OAuth Under Authentication Providers, select Install Provider. Select GitHub and enter the Client ID and Client Secret from earlier, then save.

So this is where I had to stop following the tutorial on the DecapCMS docs. I feel I'm almost there but just missing something.

I tried to look for alternatives and found the section for external OAuth, but it doesn't have a jekyll setup with Github pages [https://decapcms.org/docs/external-oauth-clients/](external OAuth)

Nevertheless I tried the serverless option and it just confused me more. If anyone knows how to use this I will be grateful for your help.

To Reproduce

Expected behavior

To be able to use Decap CMS on my Github pages website without changing hosting providers

Screenshots

This is what I see when I go to the /admin route. image

Then it fails at this step image

Applicable Versions:

CMS configuration

https://github.com/RDjarbeng/RDjarbeng/blob/main/admin/config.yml

Additional context

Site is my personal website located at:

https://rdjarbeng.github.io/RDjarbeng/ On GitHub:

https://github.com/RDjarbeng/RDjarbeng

RDjarbeng commented 14 hours ago

Update (21st September): I've hosted the site on netlify now and managed to get the CMS admin page up and running.

I still don't like that I have to do this, because it gives me 2 sites to work with; the one on GitHub pages and the one on Netlify. The admin route on the site on github pages is not working. Shows this page with error:

Unable to access identity settings. When using git-gateway backend make sure to enable Identity service and Git Gateway.

image

I read that you can push to netlify and disable builds just so you can use the authentication to sign in. This would mean you only use netlify for the initial setup. But that doesn't work. Once you disable builds you can't push any changes to the collections on the admin console (eg: modifying the config.json) unless you enable the builds.

So now if I want to continue using decap cms I have to switch between two sites; netlify for the cms, github pages for the actual website instead of just using one site for everything.

Poor experience using this.😒

RDjarbeng commented 14 hours ago

Why not just use Netlify?

The site settings are currently set to the options for Github. On netlify the assets folder for some reason isn't found so the site displays without css and other media.

I don't want to change hosting platforms just for a CMS☹️