Skip to content

Deployment Overview

Lantern uses multiple deployment platforms for different services:

ServicePlatformPurpose
Web AppCloudflare Pages + WorkersReact/Vite front-end, PWA
Discord BotRailwayFeature request submissions, admin tools
Cloud FunctionsFirebase Cloud FunctionsBackend logic, GitHub issue creation
DatabaseFirebase FirestoreUser data, feature requests, lantern state
File StorageFirebase Cloud StorageUser uploads, profile images

Deployment Guides by Service

Development Environments

Local Development

  • Web app: npm run dev (Vite dev server on localhost:5173)
  • Discord bot: npm run start (from discord-bot/ directory)
  • Docs: npm run docs:dev (VitePress on localhost:5173)
  • Storybook: npm run storybook
  • Tests: npm test (Vitest)

Dev Environment (dev.ourlantern.app)

  • Uses lantern-app-dev Firebase project
  • Accessible to internal testing
  • Auto-deploys from dev branch

Production (ourlantern.app)

  • Uses lantern-app-prod Firebase project
  • Public-facing
  • Manual deployments from main branch

Environment Variables

Each service requires different environment variables. See the service-specific deployment guides for configuration details.

Secrets Management

  • Store Firebase service account keys in ~/repos/secrets/firebase/
  • Railway, Cloudflare, and GitHub use their respective secret managers
  • Never commit secrets to git

See Also

Built with VitePress