Hosting and team setup

Reading time 2 min

Serve reviewed static reader output. Run the optional editor separately only when browser writing is needed, keeping its listener and private runtime outside the public reader boundary. Static hosting cannot execute that Node.js writing server.

Select the reader path

Task Guide
General artifact delivery Static deployment
Source versus rendered repository Cloudflare workflow
Pages project configuration Cloudflare setup
Domain and propagation DNS setup
Other root/subpath hosts GitHub Pages and other hosts

Choose whether the provider builds source or receives already generated output. Do not mix their build command and output directory shapes. Confirm the intended branch, complete artifact, host root/subpath and current provider controls. DNS and certificates belong to that hosting configuration, not the V2 generator.

For a private reader, choose external identity/network protection covering HTML, search, media and downloads. Test genuinely unauthorized access. A private repository or editor account does not protect an artifact already copied to a public host.

Select the writer path

Task Guide
Private writer architecture Private team editor
Dedicated Linux process Linux team service
nginx TLS boundary HTTPS proxy
Other proxy templates Caddy and Apache examples
Request/role protection Security and privacy

Default local loopback binding is not a remote team deployment. Configure actual hosts, TLS, secure cookie mode, trusted proxy addresses, service identity and restricted private data together. Run one deliberately supervised writer process; in-memory sessions/jobs are not a clustered service.

The examples supply reviewed templates, not certificates, cloud accounts or a claim of production execution. Rehearse their permissions/bind/proxy/request behavior on your installation. No editor, login or Admin service is deployed with this public showcase.

Accept delivery, not just setup

Surface Required check
Home/deep route Current intended text after reload
Missing/legacy route Actual status and destination
Search/assets Intended JSON/CSS/font/image bytes
Prefix/cache Correct resource paths and freshness
Private reader Unauthorized resources denied
Editor Allowed and denied role/request cases

A provider success message or homepage 200 is insufficient. Inspect actual content/type/status, not only a URL loading. A host can return HTML where CSS/search JSON was expected. Check fresh and existing browser state and keep the previous compatible reader artifact.

Review and release gives the delivery gates. Backup and restore covers state a reader-only rollback cannot recover. Recheck current provider rules before an actual deployment, and do not present a local preview as evidence those rules were applied.