feat/self host page#13
Conversation
|
@imranux-ui is attempting to deploy a commit to the ContextVM's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ContextVM-org
left a comment
There was a problem hiding this comment.
In general, I like the page’s content, but I would not use the gateway or proxy components for these examples since those components are specifically for exposing an already-existing server or for using a CVM server as if it were local. To create custom servers, users should use the Nostr server transport; for custom clients, use the Nostr client transport. We can still mention the gateway and proxy components, but only for their specific use cases: exposing an already-existing server or consuming a CVM server in MCP hosts.
Also, you haven’t followed the current site guidelines. Custom color schemes, CSS usage, custom components, etc., must follow the site’s guidelines, avoid reinventing features that already exist. Finally, I think you should add a link to the new Self-Host page; I had to navigate to it by typing the path directly into the URL.
| const ACCENT_LIGHT = '#FDE9DF'; | ||
| const ACCENT_DARK = '#A33A05'; | ||
|
|
||
| function copyCode(text: string, btn: HTMLButtonElement) { |
There was a problem hiding this comment.
We already have a 'copyToClipboard' function in 'utils.ts' please use that one to avoid duplicated code
| </div> | ||
| </main> | ||
|
|
||
| <style> |
There was a problem hiding this comment.
We use tailwind not css
| let activePath = $state<'cvmi' | 'ts'>('cvmi'); | ||
|
|
||
| // Orange accent — matches contextvm.org "Read docs" button | ||
| const ACCENT = '#E8550A'; |
There was a problem hiding this comment.
We already have a color scheme that we are using all over the site. No need to invent new colors
| <script lang="ts"> | ||
| import Seo from '$lib/components/SEO.svelte'; | ||
|
|
||
| let activePath = $state<'cvmi' | 'ts'>('cvmi'); |
There was a problem hiding this comment.
We already have a 'tab' component in our site that we are using in each servers page. No need to create a new custom component
…pyToClipboard from utils, correct SDK transport descriptions
|
Thanks for the detailed feedback. I've pushed an updated commit that addresses all points:
Let me know if anything else needs adjusting. |
|
It looks good. I would suggest adding a brief explanation to the cvmi server command so users understand that it works with any existing stdio or HTTP MCP server. We also need to decide where to place this new page in the menu (or a similar navigation element). Currently, the page can only be accessed if you already know it exists. |
|
@ContextVM-org Thanks for the feedback. Two things: For the command explanation, I'll update the description in Step 3 to clarify that cvmi serve works with any existing stdio or HTTP MCP server — not just the filesystem example — and that users can pass their own server command after the -- separator. On navigation placement, I'd suggest a small restructure that solves both the discoverability problem and reduces nav clutter at the same time. FAQs, Blog, Docs, and Slides could be grouped under a single "Resources" dropdown, freeing up space in the top nav. That freed space would give "Self-Host" room to live as a dedicated secondary button — visually distinct from the primary nav links and immediately visible to any visitor who lands on the site, without needing to dig through a dropdown to find it. Happy to implement both the Resources dropdown and the Self-Host button if the team is open to it — just let me know. I've created what it looks like here: https://le6hx5cbsmasc.ok.kimi.link It will definitely be more refined than what you see in the link. |
|
Sounds great! go for it
Wow this looks awesome! but definetely our of scope for this pr |
|
@ContextVM-org Yes, I agree it's out of scope for this pr. I'm planning to add it to my proposal for SoB. Hopefully, if I get selected, I'll work on it. |
Summary
This PR adds a new
Self-Host a Serverdocumentation page as the primary entry point for anyone who wants to host on ContextVM. It was discussed in issues #10 and #11 and agreed upon with the maintainers.Currently, there are two hosting paths — CVMI (no-code CLI) and the TypeScript SDK (custom integrations) — but no single page that acknowledges both exist, explains the difference, or guides a new user toward the right one. This page fills that gap.
What this PR adds
New page:
/self-hosting(or/getting-started/self-host)The page is structured in three parts:
1. Path chooser (top of page)
A two-option section presented before any technical content, so the visitor makes one decision and follows one track:
npxcommand2. CVMI path — end-to-end walkthrough
A single linear guide that consolidates what is currently split across
/cvmi/overview,/cvmi/installation,/cvmi/commands, and/cvmi/configuration. The existing pages remain intact as detailed referencematerial — this guide is the beginner entry point that links out to them for deeper reading.
Steps covered:
npx cvmi --helpcvmi servenpub1...)cvmi use <pubkey>.cvmi.json3. TypeScript SDK path — hosted server quickstart
A short section pointing to the SDK Quick Overview with a framing specifically for the hosting use case —
NostrMCPGatewayfor exposing an existing server,NostrMCPProxyfor connecting clients — so SDK users land in the right place without having to read the full module list to figure out what applies to them.What this PR does NOT change
Related changes recommended (outside this PR)
Self-Host a Serverto the Getting Started sidebar above the Specification sectionHow to review
The page is self-contained. Read it as a brand new user who has just landed on the site and wants to run a server — the goal is to get from zero to a running server without opening any other page first.
Closes
Resolves #10 and Resolves #11 — Homepage CTAs don't surface self-hosting as an entry point and Getting Started page presents two hosting paths (CVMI vs TypeScript SDK) without helping users choose