Skip to main content
Render is the hosting layer for Lucia’s Engine and private Admin/UI during the serious staging phase.

Runbook phase mapping

  • Phase 1 — service access, ownership, and environment-variable preparation
  • Phase 3 — host Lucia Engine first
  • Phase 4 — host Lucia Admin/UI second
Primary runbook page: 08 - Live Transition Runbook

Why Render is in the stack

Render is the clean next move because it gives Lucia:
  • always-on hosted services
  • simple Git-based deployment
  • separate web services for Engine and Admin
  • environment variables without nonsense
  • easy staging without dragging in platform bloat

Lucia role

Host on Render

  • Lucia Engine
  • Lucia Admin/UI

Not the goal

  • not final “planet-scale” architecture
  • not fancy multi-region orchestration yet
  • not unnecessary complexity
ServiceTypePurpose
Lucia EngineWeb ServiceExpress/Node backend, routes, model gateway, runtime behavior
Lucia AdminWeb Service or Static Siteoperator/admin interface
Optional worker laterBackground Workerasync jobs only when Lucia truly needs them

Service map

Lucia Engine

  • repo:
  • branch:
  • service name:
  • region:
  • runtime:
  • health check path:
  • start command:

Lucia Admin

  • repo:
  • branch:
  • service name:
  • region:
  • build command:
  • publish/start command:
  • base API URL target:

Environment variables

Split these into Engine and Admin.
Do not let localhost values linger like bad plumbing behind the walls.

Engine env vars

VariableValue / ReferenceNotes
NODE_ENV
PORT
LUCIA_OPENAI_API_KEY
OPENAI_API_KEYfallback only if used
LUCIA_INTELLIGENCE_MODEL
LUCIA_MODEL_FOCUS_OPS_REPLYoptional
SUPABASE_URL
SUPABASE_SERVICE_ROLE_KEYengine-only
CLERK_SECRET_KEYif needed server-side
UPSTASH_REDIS_REST_URLlater
UPSTASH_REDIS_REST_TOKENlater
SENTRY_DSNlater
OPERATOR_TIME_ZONE

Admin env vars

VariableValue / ReferenceNotes
VITE_API_BASE_URLshould replace localhost hardcoding
VITE_CLERK_PUBLISHABLE_KEY
VITE_SUPABASE_URLonly if needed client-side
VITE_SUPABASE_ANON_KEYonly if needed client-side
VITE_SENTRY_DSNoptional later

Setup checklist

Stage 1 — create services

  • create Lucia Engine service
  • connect repo and branch
  • set build/start commands
  • configure health check
  • create Lucia Admin service
  • connect repo and branch
  • configure environment variables

Stage 2 — staging deployment

  • deploy Engine
  • deploy Admin
  • map staging domains from Cloudflare
  • verify admin → engine communication works
  • verify no localhost URLs remain
  • verify CORS / auth callbacks / session headers

Stage 3 — release discipline

  • document manual deploy flow
  • document rollback path
  • document staging-only branch policy
  • add healthcheck routine

Credentials + account reference

Account access

ItemValue
Account email
Workspace / team
Dashboard URL
Billing owner
MFA method
MFA backup codes location

API / service references

Secret / TokenValue or 1Password ReferenceNotesRotated
Render API key
Lucia Engine service ID
Lucia Admin service ID
Deploy hook URLoptional

Deploy settings tracker

ServiceRepoBranchRegionBuild CommandStart CommandHealth Check
Lucia Engine
Lucia Admin

Notes / gotchas

  • The current admin handoff is hardcoded to localhost. That must die.
  • Hosted staging must preserve Lucia’s route contract, not silently mutate behavior.
  • Keep Engine and Admin separate. Clean lines. Less mess.