Skip to content

Introduction

MikroRoom is an ultralight video meeting tool built with WebRTC.

MikroRoom is a self-hosted video conferencing solution that prioritizes simplicity and performance. Built with vanilla TypeScript and Node.js, it provides everything you need for video meetings without the overhead of heavy frameworks. This allows MikroRoom to run with incredibly modest hardware and becomes a cost- and performance-efficient way to do fully private (and sovereign!) video conferencing.

  • Zero Dependencies: Pure Node.js + TypeScript with no runtime dependencies
  • Modern Vanilla Stack: No React or other frameworks, just HTML/CSS and TS that compiles to JS
  • Super fast loads: ~25KB transfer size for the client app means it works on any connection
  • Modern UX: Looks and behaves like you’d expect of a modern app
  • WebRTC: Native Peer-to-peer video/audio with efficient signaling
  • Self-Hosted: Full control over your data and infrastructure
  • Production-Ready: Built-in security, rate limiting, etc.
  • Small teams (< 8 participants)
  • Privacy-conscious organizations
  • Self-hosted environments
  • Developers who want control
  • Learning WebRTC fundamentals

MikroRoom consists of two main components:

  • Backend: Node.js HTTP server with WebSocket signaling
  • Frontend: TypeScript compiled with esbuild to vanilla JS (ESM)

The backend handles signaling and room management, while actual media (video/audio) flows directly between participants via WebRTC, ensuring low latency and privacy.

Get a meeting room running in just a few commands:

Terminal window
curl -sSL https://releases.mikroroom.com/install.sh | bash
# Install MikroRoom
mikroroom install
# Initialize in your project directory
mkdir my-meeting && cd my-meeting
mikroroom init
# Start the server
mikroroom start
# In a second terminal, run the frontend app
npx http-server app -p 8000

Then open http://localhost:8000 in your browser!

Ready to dive in? Head to the Installation guide to set up your first MikroRoom instance.