Open-source platform for delivering containerized applications through your web browser
StreamSpace is a Kubernetes-native platform that streams GUI applications directly to web browsers using VNC technology. No client software required—just open your browser and access any containerized application.
Perfect for:
- 🖥️ Remote Desktops - Full Linux desktop environments in the browser
- 🛠️ Development Environments - VS Code, IDEs, and dev tools accessible anywhere
- 🌐 Web Browsers - Firefox, Chrome in isolated containers
- 📊 Enterprise Applications - CAD, data analysis, legacy apps
- 🎓 Education & Training - Consistent environments for students
- 🧪 Testing & QA - Isolated browser testing environments
- Browser-Based Access - No VPN, no RDP clients, just a web browser
- Multi-User Support - Isolated sessions with resource quotas
- Auto-Hibernation - Scale to zero when idle, save resources
- Persistent Storage - NFS-backed home directories
- 200+ Templates - Pre-built applications ready to deploy
- Multiple Auth Methods - Local, SAML 2.0 (Okta, Azure AD), OIDC, MFA
- Compliance Built-In - SOC2, HIPAA, GDPR frameworks
- Audit Logging - Complete activity tracking
- Plugin System - Extensible webhooks and integrations
- High Availability - Kubernetes-native with automatic failover
- REST API - Full programmatic control
- Custom Resources - Kubernetes CRDs for sessions and templates
- Webhook Support - Integrate with Slack, Teams, Discord, PagerDuty
- Multi-Platform - Kubernetes (production), Docker/VM/Cloud (coming soon)
┌─────────────────────────────────────────────────────────┐
│ Web Browser │
│ (VNC Viewer via WebSocket) │
└────────────────────┬────────────────────────────────────┘
│ HTTPS/WSS
│
┌────────────────────▼────────────────────────────────────┐
│ Control Plane (API) │
│ ┌──────────┐ ┌───────────┐ ┌──────────────┐ │
│ │ API │ │ VNC Proxy │ │ Agent Hub │ │
│ │ Handlers │ │ (WebRTC) │ │ (WebSocket) │ │
│ └──────────┘ └───────────┘ └──────────────┘ │
└────────────────────┬────────────────────────────────────┘
│ WebSocket Commands
│
┌──────────────┴──────────────┬──────────────┐
│ │ │
┌─────▼─────┐ ┌────────▼──────┐ │
│ K8s │ │ Docker │ │
│ Agent │ │ Agent │ (Future)
│ │ │ (v2.1+) │
└─────┬─────┘ └───────────────┘
│
┌─────▼──────────────────────────────────────────┐
│ Kubernetes Cluster │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Session │ │ Session │ │ Session │ │
│ │ Pod │ │ Pod │ │ Pod │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────┘
- streamspace - Main platform (API, UI, Controllers, Agents)
- streamspace-plugins - Official and community plugins
- streamspace-templates - 200+ application templates
Development Status: 100% Complete - Integration Testing Phase
- ✅ Multi-platform Control Plane + Agent architecture
- ✅ End-to-end VNC proxy through Control Plane
- ✅ Kubernetes Agent with full session lifecycle
- ✅ VNC tunneling and real-time streaming
- ✅ Agent management UI with monitoring
- ✅ WebSocket command channel
- ✅ 70%+ test coverage on all v2.0 code
- ✅ Comprehensive documentation (6,700+ lines)
- 🔄 Integration testing with live K8s clusters
- 🔄 Performance benchmarking
- 🔄 Multi-agent deployment testing
- 📋 Docker Agent (local development)
- 📋 VM platforms (Hyper-V, vCenter)
- 📋 Cloud platforms (AWS, Azure, GCP)
# Prerequisites: Kubernetes 1.19+, Helm 3.0+, PostgreSQL, NFS storage
# Clone repository
git clone https://github.com/streamspace-dev/streamspace.git
cd streamspace
# Deploy via Helm
helm install streamspace ./chart -n streamspace --create-namespace
# Create a session
kubectl apply -f - <<EOF
apiVersion: stream.space/v1alpha1
kind: Session
metadata:
name: my-firefox
namespace: streamspace
spec:
user: myuser
template: firefox
state: running
resources:
memory: 2Gi
cpu: 1000m
EOF
# Access at https://<your-domain>/sessions/my-firefoxBackend
- Go 1.21+ (API backend, controllers, agents)
- PostgreSQL (87 tables)
- Kubebuilder 3.x (Kubernetes controller framework)
Frontend
- React 18+ with TypeScript
- Material-UI (MUI)
- noVNC (VNC client)
Infrastructure
- Kubernetes 1.19+ (production)
- Docker (local development)
- NFS (persistent storage)
- Traefik/Nginx (ingress)
Streaming
- VNC over WebSocket
- TigerVNC + noVNC stack (v2.0+)
- WebRTC (planned for v3.0)
We welcome contributions! StreamSpace uses a multi-agent development model:
- Architect - Research, planning, architecture decisions
- Builder - Feature implementation, bug fixes
- Validator - Testing, QA, coverage expansion
- Scribe - Documentation, guides, examples
See our Contributing Guide to get started.
- Architecture Overview - System design and data flow
- Deployment Guide - Installation and configuration
- Agent Guide - Deploying and managing agents
- Migration Guide - Upgrading from v1.x
- API Reference - REST API documentation
- Plugin Development - Building plugins
- 87 Database Tables
- 70+ REST API Handlers
- 50+ React Components
- 200+ Application Templates
- 28 Plugin Framework Hooks
- 500+ Test Cases
- 70%+ Test Coverage
- 66,000+ Lines of Go Code
- 6,700+ Lines of Documentation
Enable secure remote access to corporate applications without VPN complexity.
Provide students with consistent development environments accessible from any device.
Run automated browser tests in isolated containers with full GUI access.
Containerize and stream legacy Windows/Linux applications through modern browsers.
Give developers pre-configured environments with all tools installed, accessible anywhere.
StreamSpace is open source software licensed under the MIT License.
- Website: streamspace.dev
- Documentation: GitHub Docs
- Community: GitHub Discussions
- Issues: GitHub Issues
- Security: Security Policy
- 📖 Check our Documentation
- 💡 Ask in GitHub Discussions
- 🐛 Report bugs via GitHub Issues
- 📧 Contact: conduct@streamspace.dev
Built with ❤️ by the StreamSpace Community
⭐ Star us on GitHub if you find StreamSpace useful!