> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Host web content and services

> Serve Markdown, static assets, APIs, and reverse-proxied applications from a Neuron

The Neuron web server serves content directly from the program-data `Root` tree and from installed packages. Markdown is rendered dynamically, which makes documentation, administration pages, forms, scripts, and APIs part of the same extensible web runtime.

## Publish static or Markdown content

1. Build a content-only package containing the files under their intended web-root paths.
2. Include every shipped file in the package manifest.
3. Use relative links for files that move together and root-relative links for stable site routes.
4. Install the package in a test Neuron.
5. Verify HTML rendering, JavaScript, content types, cache headers, and access control.

Prefer packages over manual edits in `ProgramData`. Package installation is repeatable, signed, and reversible.

## Host a single-page application

Build the application with the correct base path, then package the compiled output. For a subdirectory such as `/portal/`, configure the frontend router and asset prefix for `/portal/` before building. Add a server fallback only for client-side routes; do not redirect missing API paths to `index.html`.

## Domain-specific roots

A Neuron can distinguish requests by host name. Use this to isolate brands or applications while sharing a runtime. Each domain still needs its own DNS, TLS coverage, OAuth redirect URIs, and security policy.

## Reverse proxy

Use a reverse proxy resource when an upstream application must appear under the Neuron's domain. Preserve the original host/path intentionally, set forwarding headers once, and define whether authentication happens at the Neuron, upstream, or both.

Security rules:

* allow only configured upstream origins;
* never turn the proxy into an unauthenticated arbitrary-URL relay;
* bound request and response sizes;
* strip hop-by-hop headers;
* decide how cookies, redirects, WebSockets, and client certificates are handled;
* log the authenticated actor and upstream target.

## Generic HTTP proxy

Recent Neuron builds can expose an authenticated `/HttpProxy` resource for controlled access to Internet content. It supports normal web authentication, sessions, JWT bearer tokens, and mTLS where configured. Treat it as a high-risk capability: restrict it with roles and the WAF, and audit target hosts.

## Content generation

Markdown pages can include Script-backed dynamic sections and can be transformed to HTML, JavaScript, images, and PDF by installed renderer modules. Keep expensive generation behind caching or a job queue, and validate untrusted input before passing it to a renderer.

See [Web and content scripting](/script/web-and-content) for dynamic pages and [HTTP content and protocols](/neuron-development/http-content-and-protocols) for code-defined routes.
