mirror of
https://github.com/xtr-dev/rondevu-server.git
synced 2025-12-10 02:43:24 +00:00
8cb56142cd72fe2d0612307c5348b8758f12fd18
- Add version parameter to AppConfig interface - Pass version from environment config instead of using process.env - Update worker.ts to pass VERSION environment variable - Update wrangler.toml with VERSION variable - Update deploy script to automatically set VERSION to git commit hash This fixes the 'process is not defined' error in Cloudflare Workers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Rondevu
🎯 Simple WebRTC peer signaling and discovery
Meet peers by topic, by peer ID, or by connection ID.
Related repositories:
- rondevu-client - TypeScript client library
- rondevu-demo - Interactive demo
Rondevu Server
HTTP signaling server for WebRTC peer discovery and connection establishment. Supports SQLite (Node.js/Docker) and Cloudflare D1 (Workers) storage backends.
Quick Start
Node.js:
npm install && npm start
Docker:
docker build -t rondevu . && docker run -p 3000:3000 -e STORAGE_PATH=:memory: rondevu
Cloudflare Workers:
npx wrangler deploy
API
# Create offer
POST /:topic/offer {"peerId":"alice","offer":"..."}
# List sessions
GET /:topic/sessions
# Send answer
POST /answer {"code":"...","answer":"..."}
# Poll for updates
POST /poll {"code":"...","side":"offerer|answerer"}
See API.md for details.
Configuration
Environment variables:
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Server port (Node.js/Docker) |
SESSION_TIMEOUT |
300000 |
Session timeout in milliseconds |
CORS_ORIGINS |
* |
Comma-separated allowed origins |
STORAGE_PATH |
./sessions.db |
SQLite database path (use :memory: for in-memory) |
License
MIT
Description
Languages
TypeScript
97.9%
Dockerfile
1.3%
JavaScript
0.8%