Skip to content

Runtime and Containers ​

racletteJS development runs in containers to mirror real runtime conditions and keep service boundaries explicit.

Why This Architecture ​

  • Consistent runtime behavior across environments
  • Service-level dependency isolation
  • Built-in infrastructure alignment with final deploy shape
  • Predictable local setup for backend, frontend, database, and cache

Container Topology ​

  • Backend and frontend services run as dedicated containers.
  • Shared infra services include MongoDB and cache.
  • Workbench runs as a raclette subprocess and starts its own service stack where enabled.

Backend Runtime ​

  • Fastify runtime boots from core entry files.
  • Plugin registration is part of backend startup.
  • API and websocket flows are wired in core and exposed to plugin implementations.

Frontend Runtime ​

  • Vue/Vite orchestrator bootstraps the UI shell and plugin widgets.
  • Composition-driven rendering resolves widgets from registered plugin metadata.

Hot Reload Model ​

  • Source changes propagate through hardlink-backed VFS and runtime mounts.
  • Dev servers/watchers inside containers pick up file changes and reload.