Here's how you can get started with Outstatic.
Outstatic uses GitHub Oauth for authentication. Before we start you'll need to create a GitHub OAuth app:
First go to the "Register a new OAuth application" page on GitHub by clicking here.
Give your application a name, "Outstatic Blog" for example.
For the Homepage URL and Authorization callback URL fields type in any valid url, ex:
https://outstatic.com, we'll change them later.
You can leave the Application description field empty.
Click on Register application. You'll be redirected to your GitHub Oauth App settings page.
Next, click on Generate a new client secret. Once done, keep this tab open. We'll need these values for our next steps.
Awesome, with your GitHub Oauth keys in hand select how you want to use Outstatic:
To deploy with Vercel, start by clicking the button below and follow the setup steps:
Select GitHub as your git service. Then, type the name of your repository (ex:
outstatic-blog) and click create.
Fill in the following environment variables:
OST_GITHUB_IDwith your GitHub Client ID.
OST_GITHUB_SECRETwith your GitHub Client secret.
OST_TOKEN_SECRETwith a random string with at least 32 characters. You can generate a random string using this service.
Click on Deploy and wait until it's done.
Once the deploy is concluded, you will be taken to your Vercel dashboard. There you'll see your new website URL.
Go back to your GitHub OAuth App settings page and update the Homepage URL with your new website URL.
You'll also need to update the Authorization callback URL with your new website URL, but you'll need to add
/api/outstatic/callback to the end of the url.
Click on Update application and you are done!
You can now visit your site.
To login to your Dashboard add
/outstatic to the end of your site url:
Before we start, you should know Outstatic saves content as markdown files to your GitHub repository. To understand how this works please read our introduction article.
First install the Outstatic package and dependencies:
# npm npm install outstatic # yarn yarn add outstatic #pnpm pnpm install outstaticbash
Then install some needed dependencies:
# npm npm install prosemirror-dropcursor prosemirror-gapcursor prosemirror-history # yarn yarn add prosemirror-dropcursor prosemirror-gapcursor prosemirror-history #pnpm pnpm install prosemirror-dropcursor prosemirror-gapcursor prosemirror-historybash
Once installed, you'll need to add two files to your
Start your dev server. Assuming you're on
http://localhost:3000 you can access your dashboard at
You should see this page:
Let's update your environment variables.
OST_GITHUB_ID=YOUR_GITHUB_OAUTH_APP_ID OST_GITHUB_SECRET=YOUR_GITHUB_OAUTH_APP_SECRET # random string min 32 chars OST_TOKEN_SECRET=A_RANDOM_TOKEN OST_REPO_SLUG=YOUR_GITHUB_REPOSITORY_SLUG # OPTIONAL # If empty this will default to main OST_REPO_BRANCH=YOUR_GITHUB_REPOSITORY_BRANCHbash
Now go back to your GitHub OAuth App settings page and update the following values:
Authorization callback URL:
Click on Update application.
Restart your service and go back to the
If everything is setup correctly, then you'll see a login page and will be able to access your Dashboard.
Congratulations! Your Outstatic installation is ready and you can now start creating content.
If you also want to access your Outstatic dashboard from your live site you'll need to create a second GitHub OAuth app as GitHub doesn't allow for multiple callback urls for a single OAuth app.
Just repeat the steps for creating a GitHub OAuth app, but this time, replacing
http://localhost:3000/ on Homepage URL and Authorization callback URL with your actual website address.
Don't forget to add the following environment variables to your Vercel project:
OST_GITHUB_ID=YOUR_GITHUB_OAUTH_APP_ID OST_GITHUB_SECRET=YOUR_GITHUB_OAUTH_APP_SECRET # random string min 32 chars OST_TOKEN_SECRET=A_RANDOM_TOKENbash
To learn more about all the available environment variables, see the Environment Variables section of the docs.