2.4 KiB
Labyricorn Website Engine Control Plane
A React control plane and Express backend for discovering Git-hosted Markdown, validating canonical site configuration, and producing deterministic static website releases.
Engine capabilities
The build engine now:
- validates routes, route collisions, content state, raw-HTML policy, and media references;
- renders published content and navigation indexes into static HTML;
- escapes source HTML and renders a safe CommonMark-style subset;
- emits deterministic
build-manifest.jsonandchecksums.jsonfiles; - calculates an artifact checksum from generated file checksums;
- writes releases atomically beneath the configured build root;
- activates releases through an atomic
currentsymlink/junction; - survives process restarts without reusing existing build numbers; and
- serves the active generated release through the live-preview endpoint.
Development
Requires Node.js 22 or later.
npm install
npm test
npm run lint
npm run dev
Create a production bundle with:
npm run build
npm start
The development server listens on port 3000 by default. In the current production deployment, the Node service listens privately on 127.0.0.1:3001; Nginx exposes the control plane on port 80 and the active rendered release on port 3000.
Operations
See Website Engine Operations for the verified private-network topology, deployment procedure, service checks, key fingerprints, credential-handling rules, and recovery guidance. The operations document intentionally contains no passwords, tokens, or private-key material.
Build artifacts
By default, releases are written to the platform temporary directory under labyricorn-builds/. Set LABYRICORN_BUILD_ROOT to use a persistent release directory in production.
Each successful release contains:
- generated route directories with
index.html; 404.html;build-manifest.json; andchecksums.json.
Validation failures produce a failed build record but never publish a partial release directory.
Current boundaries
- The built-in renderer is used until repository-provided theme templates are implemented.
- Git source synchronization supports HTTP(S), SSH-style Git URLs, and local paths; other source types remain unavailable.
- Remote rsync deployment is still represented by the existing control-plane simulation and must not be treated as a completed production deploy path.