Loading...
Loading...
Deploy ContextVM servers and clients in production environments. Use when setting up production deployments, configuring Docker containers, managing environment variables, choosing relay configurations, or monitoring running services.
npx skill4agent add contextvm/cvmi deployment| Variable | Description | Example |
|---|---|---|
| Server's Nostr private key (hex) | |
| Client's Nostr private key (hex) | |
| Variable | Description | Default |
|---|---|---|
| Comma-separated relay URLs | |
| Logging verbosity | |
| Where to write logs | |
| Log file path (if destination=file) | - |
| | |
FROM oven/bun:alpine
WORKDIR /app
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
COPY . .
ENV SERVER_PRIVATE_KEY=""
ENV RELAYS="wss://relay.contextvm.org,wss://cvm.otherstuff.ai"
ENV LOG_LEVEL="info"
EXPOSE 3000
CMD ["bun", "run", "server.ts"]version: "3.8"
services:
cvm-server:
build: .
environment:
- SERVER_PRIVATE_KEY=${SERVER_PRIVATE_KEY}
- RELAYS=wss://relay.contextvm.org,wss://cvm.otherstuff.ai
- LOG_LEVEL=info
- ENCRYPTION_MODE=optional
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"assets/docker-compose.ymlwss://relay.contextvm.org
wss://cvm.otherstuff.ai
wss://nos.lolconst relayPool = new ApplesauceRelayPool([
"wss://private-relay.your-domain.com",
]);// Whitelist specific clients
const transport = new NostrServerTransport({
signer,
relayHandler: relayPool,
allowedPublicKeys: [
process.env.CLIENT_1_PUBKEY!,
process.env.CLIENT_2_PUBKEY!,
],
});async function healthCheck(server: McpServer): Promise<boolean> {
try {
// Check if server responds to ping
await server.ping();
return true;
} catch {
return false;
}
}HEALTHCHECK \
CMD bun run healthcheck.ts || exit 1import { createLogger } from "@contextvm/sdk/core";
const logger = createLogger("server");
// Production log format
logger.info("request.completed", {
module: "server",
method: "tools/call",
tool: "echo",
clientPubkey: pubkey.slice(0, 8) + "...",
durationMs: 45,
});references/monitoring.md