Self-Hosting ​
RichView is open source (AGPL-3.0) and designed to be self-hosted. The platform consists of a Node.js backend API and a React web frontend.
Architecture ​
| Component | Technology | Purpose |
|---|---|---|
| API server | Node.js (Fastify) on Fly.io | Storage, auth, analytics, WebSocket |
| Web frontend | React SPA on Cloudflare Pages | Editor, report viewer |
| Published reports | Static HTML on Cloudflare Pages | Self-contained HTML files |
| Docs | VitePress on Cloudflare Pages | This documentation site |
Prerequisites ​
- Node.js 20+
- pnpm 9+
Running locally ​
Clone the repository and install dependencies:
bash
git clone https://github.com/richview-universe/richview-v2.git
cd richview-v2
pnpm install
pnpm buildStart the API server:
bash
pnpm --filter @richview/server devStart the web frontend:
bash
pnpm --filter @richview/web devCLI-only usage ​
If you only need report generation (no web editor), install the CLI globally:
bash
npm install -g @richview/cli
richview generate report.yamlInfrastructure (production) ​
For production deployment, RichView uses:
Cloudflare ​
- DNS: Domain registered and managed via Cloudflare
- Pages: Hosts the web frontend and published reports
- API token permissions: Zone DNS (Edit), Page Rules (Edit), Cloudflare Pages (Edit)
Fly.io ​
- API server: Runs on Fly.io free tier (3 shared VMs, 3 GB volume, 160 GB transfer/month)
- Deploy token: Created via
fly tokens create deploy
Environment variables ​
| Variable | Purpose |
|---|---|
CLOUDFLARE_API_TOKEN | Cloudflare API access |
CLOUDFLARE_ACCOUNT_ID | Cloudflare account identifier |
FLY_API_TOKEN | Fly.io deployment |
MCP server ​
Run the MCP server for AI agent integration:
bash
# stdio (for Claude Desktop)
npx @richview/mcp-server
# HTTP (for remote clients)
npx @richview/mcp-server --http --port 3001See the MCP Server Guide for configuration details.