Démarrer rapidement un projet logiciel.

Logo Centrifugo

Centrifugo

Centrifugo — temps réel sur votre VPS : WebSocket, API de publication, jetons JWT et console d'administration protégée, sans service tiers.

1 Go minimum RAM 1 vCPU Port 8113 En validation

En validation

L'installation automatique de cette solution est prête et passe actuellement nos tests sur serveur réel. La commande ouvrira dès que la validation sera terminée.

Stack technique

DockerGoCentrifugo
RAM minimum1 Go minimum
CPU minimum1 vCPU
Port par défaut8113
OS compatiblesDistributions Linux au choix

Centrifugo est un serveur de messagerie temps réel open source (licence Apache-2.0), écrit en Go. Il prend en charge la partie la plus pénible du temps réel : garder ouvertes des milliers de connexions WebSocket, et livrer à chacune les messages qui la concernent. Votre application, elle, reste en PHP, Python, Node.js, Go ou Ruby, et ne fait qu'un appel HTTP pour publier.

Le principe est simple. Votre backend signe un jeton JWT pour chaque utilisateur ; le navigateur ou l'application mobile s'en sert pour ouvrir une connexion sur `wss://votre-domaine/connection/websocket`. Quand quelque chose se passe — une commande payée, un message de chat, une alerte — votre backend appelle l'API `/api/publish` avec sa clé, et Centrifugo pousse le message à tous les abonnés du canal. C'est une alternative auto-hébergée à Pusher, Ably ou PubNub, sans facturation au message.

Fonctionnalités clés

Connexions temps réel — WebSocket, avec des SDK clients officiels pour JavaScript, Dart/Flutter, Swift, Java/Android, Go et Python.
API de publication — un appel HTTP avec l'en-tête X-API-Key suffit pour envoyer un message à un canal, depuis n'importe quel langage.
Authentification par jeton — votre backend signe des JWT (HS256) ; une connexion sans jeton valide est refusée.
Canaux et abonnements côté serveur — la liste des canaux d'un utilisateur peut être portée par son jeton, sans code client supplémentaire.
Console d'administration — état du nœud, nombre de clients connectés et envoi de commandes d'API depuis le navigateur, protégée par mot de passe.
Léger — un binaire Go unique, quelques dizaines de Mo de RAM au repos.

Quand utiliser cette solution ?

1

Notifications en direct

Prévenez un client dès que sa commande est payée ou que son ticket reçoit une réponse, sans qu'il recharge la page.

2

Chat et commentaires en temps réel

Ajoutez une messagerie ou des commentaires instantanés à votre application web ou mobile ; votre backend garde la logique et la base de données.

3

Tableaux de bord qui se mettent à jour seuls

Poussez des compteurs, des statuts de livraison ou des cours vers les écrans ouverts, au lieu de les interroger toutes les secondes.

Déployer Centrifugo sur votre VPS

Guide optimisé pour les VPS Cloud ServOrbit.

01

Créer le VPS et choisir l'adresse

Commandez un VPS Ubuntu 24.04 ; 1 Go de RAM suffit pour démarrer. Centrifugo exige un domaine : les navigateurs s'y connectent en wss:// et votre backend appelle son API en HTTPS, sur un nom stable. Il s'ouvre sur un sous-domaine de l'un de vos domaines, ou sur le sous-domaine gratuit du VPS (centrifugo.{dns_slug}.servorbit-dns.com), HTTPS compris. Inutile d'acheter un nom de domaine.

02

Installer Centrifugo depuis le Marketplace

Dans votre espace client, sélectionnez Centrifugo, choisissez l'adresse et cliquez sur Installer. Le script déploie le conteneur officiel, génère le mot de passe de la console, la clé de l'API serveur et la clé de signature des jetons, puis configure le reverse proxy nginx en HTTPS, WebSocket compris.

03

Se connecter la première fois

Ouvrez https://votre-domaine : la console d'administration demande un mot de passe. Saisissez celui affiché dans votre espace client. La page d'accueil indique la version du nœud et le nombre de clients connectés.

04

Récupérer les clés de votre backend

Connectez-vous au VPS en SSH et lisez /opt/centrifugo/.env : ENCRYPTION_KEY est la clé de l'API serveur (en-tête X-API-Key) et ENCRYPTION_KEY_HEX64 la clé HMAC qui signe les jetons de connexion. Rangez-les dans les secrets de votre application, jamais dans le code envoyé au navigateur.

05

Publier et connecter vos clients

Votre backend signe un JWT HS256 (sub = identifiant de l'utilisateur, channels = canaux à suivre) et le remet au navigateur, qui se connecte avec le SDK centrifuge sur wss://votre-domaine/connection/websocket. Ajoutez l'origine de votre site à CENTRIFUGO_CLIENT_ALLOWED_ORIGINS dans /opt/centrifugo/docker-compose.yml, relancez avec docker compose up -d, puis publiez avec un POST sur https://votre-domaine/api/publish.

Questions fréquentes

Le service rendu est le même : votre backend publie, les navigateurs abonnés reçoivent le message en direct. Pusher et Ably sont des services hébergés facturés au nombre de connexions et de messages ; Centrifugo tourne sur votre VPS, sans facturation au message, et vos données ne quittent pas votre serveur. En contrepartie, l'exploitation du serveur est à votre charge.

Démarrer rapidement un projet logiciel.

Centrifugo n'est pas encore commandable.

L'installation automatique de cette solution est prête et passe actuellement nos tests sur serveur réel. La commande ouvrira dès que la validation sera terminée.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet