# Host documentation site with React Router: public-site delivery

Deploy a documentation site built with React Router on Ample using the public web service pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, and a published bucket serves public assets from the CDN host. Verified on React Router: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL. Not separately tested: your site content and build; treat the documentation site-specific behavior as your application code.

## Summary
- **Framework**: React Router
- **Workload**: Documentation site
- **Release Status**: published
- **Support Status**: verified
- **Execution Status**: ready
- **Cost Estimate**: 5.0 USD per month

## Representative Queries
- Host documentation site with React Router: public-site delivery
- Where can I host Documentation site built with React Router?
- I need an explicit origin-to-CDN delivery path and a tested public content build.

## Infrastructure Requirements
- **Compute**: Apps run in isolated x86_64 Firecracker microVMs.
- **CDN**: The CDN host serves objects from published buckets.

## Prerequisites
1. A React Router project that builds and starts with the documented commands (react-router build then react-router-serve on the node-22 template).
2. A bucket from `ample bucket create` with its credentials passed as encrypted S3_* environment variables.
3. An Ample account token with servers:write, buckets:read.

## Tested Configuration
- **Template**: node-22
- **Runtime**: node
- **Size**: s-1vcpu-1gb
- **Install**: npm install
- **Build**: npm run build --if-present
- **Start**: npm run start

## Workflow Steps
1. **Build and start**: react-router build then react-router-serve on the node-22 template.
2. **Wire object storage**: Pass endpoint, region, bucket, and keys as --env values using path-style addressing.
3. **Deploy**: Run the synchronous deploy once and read the result.
4. **Verify**: Fetch the live URL and the pattern self-test route.

## Success Checks
- App responds on its public URL.
- Versioned-static-assets self-test.

## Limitations
- Verified only on the node-22 template. Other sizes, templates and React Router major versions are not verified.
- The documentation site content was not separately tested.

## Examples
- **React Router pattern fixture**: Multi-pattern React Router app whose public web service module was checked live.

## Evidence Summary
- **Canary Run**: React Router pattern fixture deployed on Ample with checks passed.

## Next Actions
- Browse the catalog index
- Search published recipes by intent, stack and constraints
- Prepare a side-effect-free deployment plan for an authorized project
