Deploy Lumen
Deliver static web and docs artifacts plus the two Railway backend roles in dependency order.
Outcome
A verified commit can produce four bounded deployment targets: static workbench, app, worker, and
static documentation, without adding another control plane.
Prerequisites
Use separate staging resources and an immutable verified commit. Snapshot current DNS and deployment aliases. Confirm the existing provider plans can support the change without an upgrade or disabled spend cap.
Steps
- Build
apps/web/distfor static Vercel delivery. - Build one digest-pinned Python image and select the
apporworkerentry point on Railway. - Build
apps/docs/build/clientwithDOCS_BASE_PATH=/for the custom documentation domain. - Apply Alembic through the migration role before compatible process rollout.
- Verify previews, then change one hostname class at a time.
- Verify TLS, static deep links, CORS, authentication, SSE, worker polling, and every documentation route.
- Retain the previous deployment and DNS snapshot until rollback proof passes.
The current Slice-0 checkpoint does not constitute a production deployment. Provider creation and DNS mutation belong to the release slice and require saved live evidence.
Verify
Check the exact deployed commit and artifact digests. Static hosts must serve no function or privileged
runtime. app readiness checks database and configuration; worker health checks Temporal polling,
database access, and reconciliation progress.
Recover
Restore the prior static artifacts and backend image, then restore only the DNS records changed by this
rollout. Do not remove the prior project until apex, www, TLS, and SPA deep links are proven.