This is a static CMS written in nextjs and netlify-cms, using netlify's git-gateway. The goals of this project are:
- To create a zero-fee CMS template
- To be based off of completely opensource solutions, and no vendor lock-in
-
Deploy to vercel
-
Copy your vercel app url from vercel dashboard, and github repo address
-
Configure netlify-cms config
goto
public/admin/config.yml
backend: name: github repo: OWNER/YOUR_GITHUB_REPO base_url: https://example.com/ auth_endpoint: api/auth
-
- Create a GitHub OAuth application
- Go to https://github.com/settings/developers.
- Set Homepage URL to your site's homepage
- Set Authorization callback URL to `https://YOUR_SITE_HERE/api/callback
- Make a note of your client_id and client_secret
- Setup Vercel environment variables
- Go to your vercel dashboard, https://vercel.com
- Navigate to your project then Settings > Environment Variables
- Add OAUTH_CLIENT_ID and set the value from the GitHub OAuth application
- Add OAUTH_CLIENT_SECRET and set the value from the GitHub OAuth application
- You can store them however you like but secrets should be the most secure
- Make sure your environment variables are exposed on the deployment(s) you need
- Create a GitHub OAuth application
We have been able to achieve a complete zero-fee system, with two lock-ins
- netlify identity
- github lock-in
- remove dependancy on oauth
- remove github lock-in
- store it in gitlab
- you loose codespaces for private repos
- add in docker
- you loose codespaces for private repos
- store it in gitlab
- create a nextjs static site
- on github
- move over to vercel
- deploy on vercel
- add netlify-cms
- add pages and collections
- home
- navigation
- links[]
- heroImage
- heroCTA
- heroText
- Sections
- footer
- col[]
- title
- links[]
- col[]
- navigation
- about
- herosection
- heroImage
- contact
- herosection
- heroImage
- blog[]
- home
- add github oauth to vercel
- add pages and collections
- add docker, docker-compose and scripts
- make a dockedrepo
- make it a monorepo
- move to gitlab
- add tinacms