Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

lala

Self-hosted voice & video chat built on LiveKit with E2EE rooms, screen sharing, and no database.

Ficha actualizada 23 sept 2026, 1:26 · upstream 23 sept 2026, 1:09 · release v0.0.26

00

Qué es lala

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Lala is a self-hosted voice and video communication platform inspired by Mumble and Discord, built on top of the LiveKit WebRTC server. It eliminates the need for a persistent database or user accounts, instead relying on ephemeral rooms where chat messages are stored over data channels. The application uses HMAC-based identity verification to ensure that only authorized participants can join a room, with passwords encrypted using AES-GCM via WebCrypto. Admin features include kick, ban, and mute capabilities, while the platform supports multiple themes including dark mode, light mode, AMOLED, Discord-style, and Windows XP aesthetics.

The desktop client runs on any modern browser but also includes a native application for Windows that offers an installer with auto-update support. The architecture is designed to be lightweight, with idle usage consuming only about 75 MB of disk space when all four containers are running simultaneously.

CASOS DE USO
  • Self-hosted voice chat rooms without requiring any paid subscription or cloud infrastructure
  • Private video calls for teams that need end-to-end encryption and no persistent user accounts
  • Screen sharing with quality controls and system audio passthrough on Windows systems
  • Real-time collaboration tools where data channels store messages rather than a database
  • Secure communication rooms using AES-GCM encryption without exposing plaintext to the server
  • Multi-theme support allowing users to switch between Discord, Windows XP, AMOLED, or dark/light modes
PUNTOS DESTACADOS
  • End-to-end encryption via WebCrypto AES-GCM ensures no plaintext is ever stored on the server
  • No database required — rooms are ephemeral and chat persists only over data channels in LiveKit
  • Native Windows desktop client with auto-update support and native screen share picker integration
  • LiveKit-based architecture provides robust real-time signaling, ICE negotiation, and media handling out of the box
  • Support for multiple audio quality modes including speech, music, and high-quality stereo output
  • Built-in RNNoise noise suppression via AudioWorklet to improve call clarity in noisy environments
PRECAUCIONES
  • No persistent user accounts — each device must be registered with a unique HMAC-based identity, which can be challenging for multi-device setups without proper key management
  • Screen sharing quality is limited by the underlying WebRTC implementation and may not match consumer-grade hardware codecs
  • TURN server configuration (LIVEKIT_DOMAIN) requires manual setup or DNS resolution to the TURN server endpoint
  • The desktop client does not include a built-in screen recording feature, only native screen capture via the OS
  • No real-time chat history is retained — messages are ephemeral and stored only in LiveKit's data channel buffer
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

To deploy Lala, you need Docker Compose with four containers: api (Express), web (Vite + React), desktop (Electron), and shared (types). Build images locally using the repo root as context so packages/shared is accessible. Set environment variables including LIVEKIT_URL, LIVEKIT_API_KEY, NODE_IP for ICE negotiation, LALA_REGISTRY/LALA_TAG for image pulling, REDIS_PASSWORD for Redis auth, and ALLOWED_ORIGINS/CSP_CONNECT_SRC for security hardening. Start with `docker compose up -d` to run all services simultaneously. For production-grade deployments, consider using a reverse proxy (nginx) in front of the web container to handle TLS termination, rate limiting, and request routing before reaching LiveKit signaling on port 7880.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.js
SERVICIOS
Redis
BASES DE DATOS
Redis
PUERTOS
30007880300180
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.