SkateSpots/cvm-server/skatespots-cvm.service
shakespeare.diy 2db0c6f7e2 feat: add SkateSpots CVM server — MCP tools over Nostr
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>
2026-06-16 17:45:04 +07:00

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