mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 06:57:17 -05:00
4.7 KiB
4.7 KiB
Website Deployment Playbook
This playbook gives end-to-end steps to push every BlackRoad website live with the correct hosting target and DNS. Follow it when preparing production cutovers or restoring broken sites.
Scope
blackroad.systems(public marketing site)docs.blackroad.systems(developer docs)console.blackroad.systems/prism.blackroad.systems(Prism Console frontend)
Prerequisites
- Vercel access for web + console deployments (production projects already created or ability to create them).
- GitHub access to run Pages workflows for docs.
- Cloudflare access to manage DNS for
blackroad.systemsand related subdomains. - Healthy Railway backends if the frontend relies on API calls (e.g., console pulling status from the core API).
Deployment Summary (TL;DR)
| Site | Source Repo/Path | Hosting Target | Domains | Health Check |
|---|---|---|---|---|
| Public web | apps/web → BlackRoad-OS/blackroad-os-web |
Vercel project blackroad-os-web (prod) |
blackroad.systems, www.blackroad.systems |
curl -I https://blackroad.systems should return 200/301 |
| Docs | codex-docs → BlackRoad-OS/blackroad-os-docs |
GitHub Pages via gh-pages branch |
docs.blackroad.systems |
curl -I https://docs.blackroad.systems should return 200 |
| Prism Console | prism-console → BlackRoad-OS/blackroad-os-prism-console |
Vercel project blackroad-prism-console (prod) |
console.blackroad.systems, alias prism.blackroad.systems |
curl -I https://console.blackroad.systems should return 200 |
1) Public Web (blackroad.systems)
- Sync code
- Ensure latest changes are in
apps/weband mirrored toBlackRoad-OS/blackroad-os-webmain.
- Ensure latest changes are in
- Build locally (sanity check)
- If static:
npm ci && npm run buildinsideapps/web. - If Next.js: ensure
NEXT_PUBLIC_API_URL/NEXT_PUBLIC_APP_URLare set in Vercel.
- If static:
- Deploy to Vercel
- Project:
blackroad-os-web. - Framework preset: Next.js or Static depending on the build.
- Environment: Production.
- Project:
- Attach domains in Vercel
- Add
blackroad.systems(apex) andwww.blackroad.systems. - Verify Vercel shows them as “Verified”.
- Add
- Update Cloudflare (if needed)
@→cname.vercel-dns.com(proxied ✅).www→blackroad.systems(proxied ✅).
- Validate
dig +short blackroad.systemsshould resolve to Vercel CNAME target.curl -I https://blackroad.systemsshould return 200/301 and show the live site.
2) Docs (docs.blackroad.systems)
- Build locally
pip install -r codex-docs/requirements.txt(orpip install mkdocs mkdocs-material).cd codex-docs && mkdocs build --strictto ensure no broken links.
- Publish via GitHub Actions
- Verify the Pages workflow builds
codex-docsand publishes./codex-docs/sitetogh-pages. - Confirm
gh-pagesbranch exists and updates on pushes tomain.
- Verify the Pages workflow builds
- Configure Pages
- Repository:
BlackRoad-OS/blackroad-os-docs→ Settings → Pages → Source:gh-pages. - Custom domain:
docs.blackroad.systems, enforce HTTPS.
- Repository:
- Update Cloudflare (if needed)
docs→blackboxprogramming.github.io(proxied ✅).
- Validate
dig +short docs.blackroad.systemsshould resolve to GitHub Pages.curl -I https://docs.blackroad.systemsshould return 200 and serve the docs homepage.
3) Prism Console (console.blackroad.systems / prism.blackroad.systems)
- Sync code
- Ensure latest changes in
prism-consolemirror toBlackRoad-OS/blackroad-os-prism-consolemain.
- Ensure latest changes in
- Deploy to Vercel
- Project:
blackroad-prism-console(production). - Static export is sufficient; ensure build produces
index.html/staticassets.
- Project:
- Attach domains in Vercel
- Add
console.blackroad.systemsas primary. - Add
prism.blackroad.systemsas secondary/alias if you still support the old hostname.
- Add
- Update Cloudflare
console→blackroad-prism-console.vercel.app(proxied ✅).prism→blackroad-prism-console.vercel.app(proxied ✅) if keeping the alias.
- Validate
dig +short console.blackroad.systemsshould show the Vercel target.curl -I https://console.blackroad.systemsshould return 200 and load the console UI.
Cross-Site Smoke Tests
- Confirm each hostname serves distinct content (web vs docs vs console) and no redirect loops.
- Check SSL chain validity using
curl -Iv https://<host>. - For console/web, open DevTools → Network to ensure API calls hit the correct backend (
blackroad.systemsorapi.blackroad.systems). - Set uptime monitors for all three hostnames after cutover.
Use this playbook anytime you need to bring the sites online or verify their health after infrastructure changes.