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.