Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

OpenChat

Plataforma de comunicación auto-hospedada para texto, voz y video en tiempo real. Integra LiveKit para SFU, Authentik para SSO y OpenShare opcional para archivos. Soporta web, desktop (Tauri) y mobile (Expo).

Ficha actualizada 27 sept 2026, 9:05 · upstream 27 sept 2026, 8:55 · release desktop-v0.8.49

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es OpenChat

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

OpenChat es una plataforma de comunicación auto-hospedada diseñada para integrarse con stacks existentes en lugar de reinventarlos. Utiliza LiveKit para voz/video en tiempo real, Authentik OIDC para autenticación centralizada y OpenShare como servicio companion opcional para almacenamiento de archivos y medios.

La arquitectura separa frontend (React 18 + TypeScript con Vite) del backend (NestJS 11 con Prisma), permitiendo despliegues independientes. El cliente desktop utiliza Tauri v2 mientras que el mobile está en desarrollo con Expo/React Native. La comunicación en tiempo real se gestiona mediante WebSocket gateway y Redis pub/sub para presencia, notificaciones y listas de miembros.

El sistema soporta múltiples dominios, invitaciones verificadas vía Patreon (opcional), clústeres de espejo confiables para continuidad del servicio, y roles con permisos bitfield. Todo el entorno se configura mediante un único archivo .env local, manteniendo los secretos fuera del control de versiones.

CASOS DE USO
  • Comunicación interna en equipos técnicos con canales de texto y voz persistentes
  • Watch parties sincronizadas para ver películas o contenido multimedia en grupo
  • Reemplazo de Slack/Discord auto-hospedado con integración SSO existente
  • Plataforma de comunicación para comunidades con almacenamiento externo escalable
PUNTOS DESTACADOS
  • Integración nativa con LiveKit SFU para voz/video sin dependencias externas complejas
  • Arquitectura modular que permite usar OpenShare opcional para almacenamiento de archivos
  • Soporte multiplataforma con clientes web, desktop (Tauri) y mobile (Expo)
  • Sistema de clústeres de espejo confiables para continuidad del servicio auto-hospedado
  • Configuración unificada mediante .env local sin secretos en repositorio público
  • Integración con Authentik OIDC para SSO sin reinventar flujos de autenticación
PRECAUCIONES
  • Dependencia de servicios externos (OpenShare, Jellyfin) para funcionalidades avanzadas
  • Requiere configuración manual de .env y renderizado de livekit.yaml antes del despliegue
  • No incluye Dockerfile propio, depende exclusivamente de docker-compose.yml
  • El cliente mobile está en desarrollo separado con versionado independiente
  • Almacenamiento de archivos no incluido por defecto (requiere OpenShare externo)
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

OpenChat public server receiving realtime messagesOpenChat private callOpenChat synchronized watch party with four viewersOpenChat sharing two selected windowsOpenChat
01

Perfil de infraestructura

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

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

Despliegue detectado

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

Listo para automatizar

Desplegar detrás de reverse proxy (Nginx Proxy Manager recomendado). Copiar .env.example a .env y completar todos los valores CHANGE_ME. Ejecutar ./scripts/setup.sh para renderizar livekit.yaml desde .env. Usar docker compose up -d --build o docker compose -f docker-compose.public.yml pull/up para despliegue público. Pin OPENCHAT_VERSION=0.8.50 para compatibilidad con releases estables o usar tags sha-<commit> para inmutabilidad. PostgreSQL, Redis y LiveKit usan imágenes upstream estándar.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
ReactNode.js
SERVICIOS
PostgreSQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLRedis
PUERTOS
54328810
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.