Skip to content

Navigation Menu

Sign in
Sign up

StreamSpace

StreamSpace Logo

Stream Any App to Your Browser

Open-source platform for delivering containerized applications through your web browser

License: MIT Kubernetes Go Version React

Website β€’ Documentation β€’ Getting Started β€’ Contributing


πŸš€ What is StreamSpace?

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

✨ Key Features

Core Platform

  • 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

Enterprise Ready

  • 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

Developer Friendly

  • 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)

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 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 β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ Repositories

Core Platform

🎯 Current Status

v2.0-beta (November 2025)

Development Status: 100% Complete - Integration Testing Phase

What's Working

  • βœ… 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)

In Progress

  • πŸ”„ Integration testing with live K8s clusters
  • πŸ”„ Performance benchmarking
  • πŸ”„ Multi-agent deployment testing

Coming in v2.1+

  • πŸ“‹ Docker Agent (local development)
  • πŸ“‹ VM platforms (Hyper-V, vCenter)
  • πŸ“‹ Cloud platforms (AWS, Azure, GCP)

πŸš€ Quick Start

# 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-firefox

Full Installation Guide β†’

πŸ› οΈ Technology Stack

Backend

  • 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)

🀝 Contributing

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.

πŸ“– Documentation

πŸ“Š Project Stats

  • 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

🌟 Use Cases

Remote Work

Enable secure remote access to corporate applications without VPN complexity.

Education

Provide students with consistent development environments accessible from any device.

Testing & QA

Run automated browser tests in isolated containers with full GUI access.

Legacy Applications

Containerize and stream legacy Windows/Linux applications through modern browsers.

Development Environments

Give developers pre-configured environments with all tools installed, accessible anywhere.

πŸ“œ License

StreamSpace is open source software licensed under the MIT License.

πŸ”— Links

πŸ’¬ Support


Built with ❀️ by the StreamSpace Community

⭐ Star us on GitHub if you find StreamSpace useful!

Popular repositories Loading

  1. streamspace streamspace Public

    Open-source multi-user container streaming platform - Stream any app, anywhere

    Go 2 2

  2. streamspace-templates streamspace-templates Public

    Application templates for StreamSpace - 22+ pre-built containerized applications

    Dockerfile 1 1

  3. streamspace-plugins streamspace-plugins Public

    Official and community plugins for StreamSpace - extensions, webhooks, and integrations

    Go

  4. .github .github Public
  5. selkies selkies Public

    Forked from selkies-project/selkies

    Open-Source Low-Latency Accelerated Linux WebRTC HTML5 Remote Desktop Streaming Platform for Self-Hosting, Containers, Kubernetes, or Cloud/HPC

    Python

Repositories

Loading
Type
Select type
Language
Select language
Sort
Select order
Showing 5 of 5 repositories

Top languages

Loading...

Most used topics

Loading...

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /