Skip to content

Deployment Environments

This document describes all deployment environments and their configurations.

Note: For local development environment variable setup, see ENV_VARIABLES.md.

Overview

EnvironmentTriggerFirebase ProjectHosting SiteURL
DevelopmentPush to main branchseed-start-7255aseed-start-7255ahttps://seed-start-7255a.web.app
ProductionPush version tag (v*.*.*)seedstart-worldseedstart-worldhttps://app.seedstart.space

Development Environment

Configuration

  • Firebase Project: seed-start-7255a
  • Hosting Site: seed-start-7255a
  • Deployment Trigger: Push to main branch
  • API URL: https://api-xwzj77tlfa-uc.a.run.app

What Gets Deployed

  • Firebase Hosting (frontend) via deploy-frontend-dev.yml
  • Cloud Functions (API) via deploy-functions-dev.yml
  • Admin Hosting via deploy-admin-dev.yml
  • Firestore Security Rules and Indexes

GitHub Secrets Required

  • DEV_VITE_PUBLIC_APIKEY
  • DEV_VITE_PUBLIC_AUTHDOMAIN
  • DEV_VITE_PUBLIC_PROJECTID
  • DEV_VITE_PUBLIC_STORAGEBUCKET
  • DEV_VITE_PUBLIC_MESSAGINGSENDERID
  • DEV_VITE_PUBLIC_APPID
  • DEV_VITE_PUBLIC_MEASUREMENT_ID
  • DEV_VITE_PUBLIC_VAPID_KEY
  • DEV_VITE_PUBLIC_APPCHECK_SITE_KEY
  • DEV_FIREBASE_SERVICE_ACCOUNT (service account JSON)

Production Environment

Configuration

  • Firebase Project: seedstart-world
  • Hosting Site: seedstart-world
  • Deployment Trigger: Push version tag matching v*.*.*
  • API URL: https://api-r47rywulkq-uc.a.run.app

What Gets Deployed

  • Firebase Hosting (frontend) via deploy-prod.yml
  • Cloud Functions (API) via deploy-functions-prod.yml
  • Admin Hosting via deploy-admin-prod.yml
  • Firestore Security Rules and Indexes

GitHub Secrets Required

  • PROD_VITE_PUBLIC_APIKEY
  • PROD_VITE_PUBLIC_AUTHDOMAIN
  • PROD_VITE_PUBLIC_PROJECTID
  • PROD_VITE_PUBLIC_STORAGEBUCKET
  • PROD_VITE_PUBLIC_MESSAGINGSENDERID
  • PROD_VITE_PUBLIC_APPID
  • PROD_VITE_PUBLIC_MEASUREMENT_ID
  • PROD_VITE_PUBLIC_VAPID_KEY
  • PROD_VITE_PUBLIC_APPCHECK_SITE_KEY
  • PROD_VITE_PUBLIC_SERVICE_ACCOUNT (service account JSON)
  • PROD_VITE_API_URL (prod Cloud Run API URL)

Cloud Functions / API

The Express API source is in functions/ within this monorepo. Key details:

  • Dev: Deployed automatically to seed-start-7255a via deploy-functions-dev.yml
  • Prod: Deployed to seedstart-world via deploy-functions-prod.yml (tag-triggered)
  • Frontend communicates with the API via VITE_API_URL (no fallbacks)

How to Release to Production

bash
git checkout main
git pull
git tag v1.0.X
git push origin v1.0.X

This triggers deploy-prod.yml which deploys exactly that tag.

Rollback

Redeploy a previous version tag by re-running the workflow for that tag in GitHub Actions.

Internal docs — access restricted via Cloudflare Zero Trust.