Adds cvm-server/ directory with complete ContextVM server implementation: - server.ts: Full MCP server with 5 tools (find_spots, find_events, find_coaches, find_gear, get_community_stats) using @contextvm/sdk - bootstrap.sh: One-command VPS setup script (Bun, PM2, firewall, keygen) - skatespots-cvm.service: systemd unit for production deployment - .env.example: Environment variable template - DEPLOY.md: Step-by-step deploy guide for LNVPS VPS - package.cvm.json: Dependencies manifest The server aggregates data from goskatespots.nostr1.com and other relays, deduplicates addressable events, and exposes structured JSON tools that AI agents can discover and call via the ContextVM/Nostr protocol (CEP-6). Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
30 lines
1.1 KiB
Desktop File
30 lines
1.1 KiB
Desktop File
# ─────────────────────────────────────────────────────────────────────────────
|
|
# systemd unit file for SkateSpots CVM Server
|
|
# Install: sudo cp skatespots-cvm.service /etc/systemd/system/
|
|
# sudo systemctl daemon-reload
|
|
# sudo systemctl enable --now skatespots-cvm
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
[Unit]
|
|
Description=SkateSpots CVM Server (ContextVM MCP over Nostr)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=skate
|
|
WorkingDirectory=/home/skate/skatespots-cvm
|
|
EnvironmentFile=/home/skate/skatespots-cvm/.env
|
|
ExecStart=/home/skate/.bun/bin/bun run server.ts
|
|
Restart=always
|
|
RestartSec=5
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=skatespots-cvm
|
|
|
|
# Basic hardening
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|