Documentation Deployment Architecture โ
Visual overview of how the documentation deployment works.
Current Architecture (After This PR) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Repository โ
โ cattreedev/lantern_app โ
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โ
Push to main Push to dev
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Actions โ โ GitHub Actions โ
โ deploy-docs.yml โ โ deploy-docs.yml โ
โ โ โ โ
โ 1. npm ci โ โ 1. npm ci โ
โ 2. npm run โ โ 2. npm run โ
โ docs:build โ โ docs:build โ
โ 3. Deploy to CF โ โ 3. Deploy to CF โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Cloudflare Pages โ โ Cloudflare Pages โ
โ lantern-docs โ โ lantern-docs-dev โ
โ (Production) โ โ (Development) โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ docs.ourlantern.app โ โ docs-dev.ourlantern. โ
โ (Public/Protected) โ โ app (Protected) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโPull Request Flow โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Developer creates PR with docs changes โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Actions triggers โ
โ (on pull_request event) โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Builds docs and deploys to preview URL โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Preview URL: โ
โ feature-xyz.lantern-docs-dev.pages.dev โ
โ โ
โ Team reviews docs before merge โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโComplete Infrastructure โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Lantern Infrastructure โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Main Application:
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ ourlantern.app โ โ dev.ourlantern. โ
โ (Production) โโโโโโ โโโโโโโโโบโ app (Dev) โ
โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโ
โฒ โ โ โฒ
โ โ โ โ
โ โโโโโโดโโโโโโโดโโโโโ โ
โ โ Cloudflare โ โ
โ โ Pages Projects โ โ
โ โ โ โ
โ โ lantern-app โ โ
โ โ lantern-app-devโ โ
โ โโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโ
โ
GitHub Repo
(cattreedev/
lantern_app)
โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ docs.ourlantern. โ โ docs-dev. โ
โ app (Production) โโโโโโ โโโโโโโโโบโ ourlantern.app โ
โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโ
โฒ โ โ โฒ
โ โ โ โ
โ โโโโโโดโโโโโโโดโโโโโ โ
โ โ Cloudflare โ โ
โ โ Pages Projects โ โ
โ โ โ โ
โ โ lantern-docs โ โ
โ โ lantern-docs- โ โ
โ โ dev โ โ
โ โโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Documentation Site (NEW - This PR)DNS Configuration โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Cloudflare DNS (ourlantern.app zone) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ @ (root) โ lantern-app.pages.dev โ
โ dev โ lantern-app-dev.pages. โ
โ dev โ
โ docs (NEW) โ lantern-docs.pages.dev โ
โ docs-dev (NEW) โ lantern-docs-dev.pages. โ
โ dev โ
โ โ
โ All CNAME records are Proxied (๐ ) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโGitHub Actions Workflow Triggers โ
Event: Push to main/dev
Conditions:
- Files in docs/** changed OR
- package.json changed OR
- .github/workflows/deploy-docs.yml changed
โ
Run workflow
Event: Pull Request
Conditions:
- Files in docs/** changed
โ
Run workflow (preview deployment)
Event: workflow_dispatch
Conditions:
- Manual trigger from GitHub UI
โ
Run workflowDeployment Timeline โ
Time: T+0s
โโ Developer pushes commit to dev branch
โ
Time: T+5s
โโ GitHub Actions detects push
โโ Workflow starts
โ
Time: T+10s
โโ Checkout code
โโ Setup Node.js
โ
Time: T+30s
โโ Install dependencies (npm ci)
โ
Time: T+60s
โโ Build docs (npm run docs:build)
โ
Time: T+90s
โโ Deploy to Cloudflare Pages
โ
Time: T+120s
โโ Cloudflare builds and deploys
โ
Time: T+180s (3 minutes)
โโ โ
Docs live at docs.dev.ourlantern.appSecurity & Access โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Access Control โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ourlantern.app โ
โ โโ Cloudflare Access: PIN Auth (Piloting) โ
โ โ
โ dev.ourlantern.app โ
โ โโ Cloudflare Access: PIN Auth โ
โ โ
โ docs.ourlantern.app (NEW) โ
โ โโ Option 1: Public (Recommended) โ
โ โโ Option 2: Cloudflare Access (Optional) โ
โ โ
โ docs.dev.ourlantern.app (NEW) โ
โ โโ Option 1: Public โ
โ โโ Option 2: Protected (For unreleased โ
โ features) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโBuild Outputs โ
Repository Structure:
/home/runner/work/lantern_app/lantern_app/
โ
โโ Main App Build (npm run build:app)
โ โโ Output: dist/
โ โโ index.html
โ โโ assets/
โ โโ sw.js (service worker)
โ โโ manifest.webmanifest
โ
โโ Docs Build (npm run docs:build)
โโ Output: docs/.vitepress/dist/
โโ index.html
โโ assets/
โโ engineering/
โโ features/
โโ business/
โโ ... (all docs pages)
Note: Builds are now INDEPENDENT - no longer copied togetherKey Benefits Visualized โ
Before (Single Deployment):
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Build App + Docs โ โ 5-10 minutes
โ (Single large build) โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Deploy to Cloudflare โ โ 2-3 minutes
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ourlantern.app/docs/ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
After (Separate Deployments):
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Build App โ โ Build Docs โ โ 2-3 min each
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Deploy App โ โ Deploy Docs โ โ 2-3 min each
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โourlantern.appโ โdocs.ourlanternโ
โ โ โ.app โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
Benefits:
โ
Update docs without touching app
โ
Faster individual builds
โ
Independent scaling
โ
Cleaner URLs
โ
Better SEOMonitoring & Verification โ
1. GitHub Actions
โโ https://github.com/cattreedev/lantern_app/actions
โโ "Deploy Documentation" workflow
โโ View status (โ
or โ)
โโ See deployment logs
โโ Check deployment summary
2. Cloudflare Dashboard
โโ https://dash.cloudflare.com
โโ Workers & Pages โ Pages
โโ lantern-docs (production)
โ โโ Deployments tab
โ โโ View history
โ โโ See build logs
โ โโ Check status
โ
โโ lantern-docs-dev (development)
โโ Same monitoring
3. Direct Verification
โโ Visit docs.ourlantern.app
โโ Hard refresh (Ctrl+Shift+R)
โโ Verify changes appearQuick Decision Tree โ
Need to update docs?
โ
โโ Yes
โ โ
โ โโ Edit docs/ files
โ โโ Test locally (npm run docs:dev)
โ โโ Commit and push to dev
โ โโ โ
Auto-deploys to docs.dev.ourlantern.app
โ
โโ Ready for production?
โ
โโ Yes
โ โโ Merge to main
โ โโ โ
Auto-deploys to docs.ourlantern.app
โ
โโ No
โโ Keep testing on docs-devLast updated: 2026-01-10