Chapter 29 · build contribute

Simplified Firebase and Vercel setup

Configure one Firebase project, one environment-variable set, Firestore applications, owner authentication, and Vercel deployment.

1 min read·Updated 2026-07-26·2 role paths
01

Required services

  • One Firebase project
  • Firestore
  • Firebase Authentication with Email/Password enabled
  • One Firebase Web App configuration
  • One server-side Firebase service account
  • One Vercel project
  • One private GitHub repository
02

One environment set

Use .env.local during local development and enter the same names in Vercel Project Settings.

Required Community Source values:

env
GOOGLE_CLOUD_PROJECT=your-project-id
FIREBASE_SERVICE_ACCOUNT_JSON={"type":"service_account",...}
NEXT_PUBLIC_FIREBASE_CONFIG={"apiKey":"...","authDomain":"...","projectId":"...","appId":"..."}
OGO_APP_SECRET=long-random-secret
OGO_ACCESS_COLLECTION=ogo_verified_access_applications
OGO_ADMIN_EMAIL=owner@example.com
OGO_ADMIN_ROUTE=long-hidden-route

No Cloudflare or GitHub token is required.

03

Create the owner

Create the Email/Password user in Firebase Authentication, then run:

bash
npm run ogo-admin:user -- grant \
  --email owner@example.com \
  --role owner \
  --mark-email-verified
04

Deployment

Commit the code to the private Git repository, import it into Vercel, configure the variables for Production and Preview as appropriate, add the Vercel domain to Firebase Authentication authorized domains, and test both the public form and owner Admin route.