Logo de Centrifugo

Desarrollo

Centrifugo

Centrifugo — tiempo real en tu VPS: WebSocket, API de publicación, tokens JWT y consola de administración protegida, sin servicios de terceros.

Acerca de Centrifugo

Centrifugo es un servidor de mensajería en tiempo real de código abierto (licencia Apache-2.0), escrito en Go. Se encarga de la parte más difícil del tiempo real: mantener abiertas miles de conexiones WebSocket y entregar a cada una los mensajes que le corresponden. Tu aplicación sigue en PHP, Python, Node.js, Go o Ruby, y solo hace una llamada HTTP para publicar.

El principio es sencillo. Tu backend firma un JWT para cada usuario; el navegador o la app móvil lo usa para abrir una conexión en `wss://tu-dominio/connection/websocket`. Cuando ocurre algo — un pedido pagado, un mensaje de chat, una alerta — tu backend llama a la API `/api/publish` con su clave, y Centrifugo envía el mensaje a todos los suscriptores del canal. Es una alternativa autoalojada a Pusher, Ably o PubNub, sin facturación por mensaje.

Lo que se instala

Listo al arrancar el VPS

SO compatibles
Distribuciones Linux a elegir
Aplicación
Centrifugo
Stack técnico
DockerGoCentrifugo
RAM mínima
1 GB mínimo
CPU mínima
1 vCPU
Puerto por defecto
8113
Acceso
root por SSH

Funcionalidades clave

  • Conexiones en tiempo real — WebSocket, con SDK cliente oficiales para JavaScript, Dart/Flutter, Swift, Java/Android, Go y Python.
  • API de publicación — basta una llamada HTTP con la cabecera X-API-Key para enviar un mensaje a un canal, desde cualquier lenguaje.
  • Autenticación por token — tu backend firma JWT (HS256); se rechaza toda conexión sin un token válido.
  • Canales y suscripciones del lado del servidor — el token de un usuario puede llevar su lista de canales, sin código cliente adicional.
  • Consola de administración — estado del nodo, número de clientes conectados y comandos de la API desde el navegador, protegida por contraseña.
  • Ligero — un único binario Go, unas decenas de MB de RAM en reposo.

¿Cuándo usar esta solución?

Notificaciones en directo

Avisa a un cliente en cuanto su pedido se paga o su ticket recibe una respuesta, sin que recargue la página.

Chat y comentarios en tiempo real

Añade mensajería o comentarios instantáneos a tu aplicación web o móvil; tu backend conserva la lógica y la base de datos.

Paneles que se actualizan solos

Envía contadores, estados de entrega o cotizaciones a las pantallas abiertas en lugar de consultarlos cada segundo.

Guía

Desplegar Centrifugo en su VPS

  1. Crear el VPS y elegir la dirección

    Contrata un VPS Ubuntu 24.04; 1 GB de RAM basta para empezar. Centrifugo requiere un dominio: los navegadores se conectan por wss:// y tu backend llama a su API por HTTPS, en un nombre estable. Se abre en un subdominio de uno de tus dominios o en el subdominio gratuito del VPS (centrifugo.{dns_slug}.servorbit-dns.com), con HTTPS incluido. No hace falta comprar un dominio.

  2. Instalar Centrifugo desde el Marketplace

    En tu área de cliente, selecciona Centrifugo, elige la dirección y pulsa Instalar. El script despliega el contenedor oficial, genera la contraseña de la consola, la clave de la API de servidor y la clave de firma de los tokens, y configura el proxy inverso nginx en HTTPS, WebSocket incluido.

  3. Iniciar sesión por primera vez

    Abre https://tu-dominio: la consola de administración pide una contraseña. Introduce la que aparece en tu área de cliente. La página de inicio muestra la versión del nodo y el número de clientes conectados.

  4. Recuperar las claves de tu backend

    Conéctate al VPS por SSH y lee /opt/centrifugo/.env: ENCRYPTION_KEY es la clave de la API de servidor (cabecera X-API-Key) y ENCRYPTION_KEY_HEX64 la clave HMAC que firma los tokens de conexión. Guárdalas en los secretos de tu aplicación, nunca en el código que se envía al navegador.

  5. Publicar y conectar tus clientes

    Tu backend firma un JWT HS256 (sub = identificador del usuario, channels = canales que seguir) y se lo entrega al navegador, que se conecta con el SDK centrifuge en wss://tu-dominio/connection/websocket. Añade el origen de tu sitio a CENTRIFUGO_CLIENT_ALLOWED_ORIGINS en /opt/centrifugo/docker-compose.yml, reinicia con docker compose up -d y publica con un POST a https://tu-dominio/api/publish.

Preguntas frecuentes

Preguntas sobre Centrifugo

← Volver a DesarrolloTodas las aplicaciones
El servicio es el mismo: tu backend publica y los navegadores suscritos reciben el mensaje en directo. Pusher y Ably son servicios alojados que facturan por conexiones y mensajes; Centrifugo funciona en tu VPS, sin facturación por mensaje, y tus datos no salen de tu servidor. A cambio, la operación del servidor corre de tu cuenta.

Integrar el botón de despliegue

¿Mantiene un proyecto que utiliza Centrifugo? Este botón permite a sus lectores desplegarlo en un VPS con un clic, sin leer documentación de Docker.

Deploy Centrifugo on ServOrbit
Markdown
[![Deploy Centrifugo on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo)
HTML
<a href="https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Centrifugo on ServOrbit" height="40"></a>

El botón lleva al pedido de un VPS con la plantilla preseleccionada. La imagen se sirve desde servorbit.com: no tiene que alojar nada por su parte.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico.

Escribir por WhatsAppse abre en una pestaña nueva