Skip to content
Make Authenticated, Serverless, Dynamic Clientside JAMstack apps with Gatsby + Netlify Dev (Functions + Identity)
JavaScript CSS Dockerfile
Branch: master
Clone or download
Pull request Compare This branch is 70 commits ahead, 46 commits behind gatsbyjs:master.
Latest commit c5d37cb Nov 28, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
functions-src add token hider to starter Sep 11, 2019
src cleanup Sep 11, 2019
.gitpod.Dockerfile Added gitpod config Nov 27, 2019
.prettierignore fix(starters): Format all the supported files (#16238) Aug 6, 2019
.prettierrc feat(starters): Add .prettierrc to starters (#11786) Feb 22, 2019
LICENSE Initial commit Jul 21, 2015 Added gitpod config Nov 27, 2019
yarn.lock add token hider to starter Sep 11, 2019

Make Authenticated, Serverless, Dynamic Clientside JAMstack apps with Gatsby + Netlify Dev (Functions + Identity)!

This is a fork of which shows how to use Netlify Identity and Netlify Functions (via Netlify Dev) with Gatsby. Start here for your next JAMstack hackathon or use this as a reference implementation.


  • 🚋Serverless Functions
  • 🔏Authentication (with Netlify Identity)
  • 🔐Authenticated Serverless Functions
  • 😻External Provider login with GitHub, Bitbucket, Google, etc.
  • 🏠Protected Routes
  • 👋🏼Dynamic Clientside Pages in Gatsby (enabling all the above)
  • 🕵🏼‍♂️Hide API Secrets from being exposed to Frontend

3 minute video walkthrough of this starter


Make this yourself

You may not need this starter repo! Learn how to add Netlify Identity and Functions to your own existing Gatsby project.

How to start

You can clone and deploy this sample project with one click: Deploy to Netlify

For development you can clone and open this project with another click: Open in Gitpod

Basically these are the extra dependencies it adds:

For local development, first make sure you have Netlify CLI:

npm i -g netlify-cli

## if you are totally new, you will probably need to log in, e.g.
netlify login

And then you can run this project with:

netlify dev # or ntl dev

This starts up both the Gatsby server (at port 8000) and a functions server (at a randomly selected port) and proxies them for you to a new port (usually port 8888). So make sure you go to http://localhost:8888 to have the project work

You can read the Netlify Dev docs for more info.

Enabling Netlify Identity

If you are not using the Deploy to Netlify button (which has the &stack=cms query param at the end that automatically sets Netlify Identity up for you), you will have to enable Netlify Identity manually yourself. Just head to and enable it, so that your netlify-identity-widget works.

Further Documentation in nested READMEs

  • please see the src README for explanation on the layout
  • please see the app README for explanation on the app

Other Resources

Other useful resources/reference projects that may help you:

Please contact @swyx if you need more help with Netlify.

You can’t perform that action at this time.