--- title: Novu created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, api, backend, tools] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/novuhq/novu] --- # đŸ’» Novu > Plateforme de notifications open source — unifie l'envoi de notifications (email, SMS, push, in-app, webhooks) derriĂšre une API unique et un workflow de prĂ©fĂ©rences utilisateur. ## 📋 Informations GĂ©nĂ©rales | Attribut | Valeur | |----------|--------| | **Nom** | Novu | | **Slug** | novu | | **Description** | Plateforme de notifications multi-canal (inbox, email, push, SMS, chat) | | **Site officiel** | https://novu.co | | **Repository** | https://github.com/novuhq/novu | | **Stars** | 39 079 ⭐ | | **Licence** | MIT (core) + Enterprise (Cloud) | | **Langage principal** | TypeScript (Node.js) + React (dashboard, in-app) | | **CatĂ©gorie** | Development | | **Tags** | [catalogue, development, api, backend, tools] | ## 📝 Description **Novu** est une **plateforme de notifications open source** conçue pour **unifier** l'envoi de messages sur plusieurs canaux depuis une seule API. Les dĂ©veloppeurs utilisent un seul SDK (`@novu/node`) et un seul workflow definition pour router une notification vers **email, SMS, push mobile, chat (Slack/Discord/Teams), webhook** ou une **inbox in-app** (composant React/Vue/Angular). L'inbox in-app est la brique diffĂ©renciante : c'est un composant embed qui affiche, dans votre application, l'historique des notifications de l'utilisateur avec lu/non-lu, marque-pages et prĂ©fĂ©rences granulaires par canal et par topic — similaire Ă  ce que font Intercom, OneSignal ou Knock, mais en self-hostable. **ModĂšle de licence** : Le **core** est MIT (auto-hĂ©bergeable), mais **Novu Inc.** a introduit en 2024 une **Enterprise License** sur certaines briques (SSO/SCIM, audit log avancĂ©, multi-environnements) qui ne sont pas disponibles en self-host MIT. La plateforme cloud `novu.co` est un service freemium avec palier Pro. Pour un self-host 100 % libre, on dispose de l'API, de l'inbox, de la majoritĂ© des providers, mais on perd les features Enterprise. Cas d'usage : ajouter des notifications transactionnelles (confirmation de commande, alertes) Ă  un produit SaaS sans rĂ©implĂ©menter le routage par canal, l'email templating, le tracking d'ouverture. ## 🚀 Installation ### Via Docker (recommandĂ©) ```yaml # docker-compose.yml (stack officielle Novu) version: "3.8" services: api: image: ghcr.io/novuhq/novu/api:0.24 depends_on: [mongodb, redis] environment: MONGO_URL: mongodb://mongodb:27017/novu-db REDIS_HOST: redis JWT_SECRET: ***changeme*** ports: ["3000:3000"] worker: image: ghcr.io/novuhq/novu/worker:0.24 depends_on: [mongodb, redis] environment: MONGO_URL: mongodb://mongodb:27017/novu-db REDIS_HOST: redis web: image: ghcr.io/novuhq/novu/web:0.24 ports: ["4200:8080"] mongodb: image: mongo:7 volumes: ["./mongo:/data/db"] redis: image: redis:7-alpine ``` ⚠ **La stack complĂšte** inclut aussi `ws` (WebSocket pour l'inbox temps rĂ©el) et `embed` (widget JS) — voir le repo officiel. ### Installation manuelle DĂ©conseillĂ© : le projet est un monorepo TypeScript avec ≄8 services interconnectĂ©s. PrivilĂ©gier l'image Docker officielle (Helm chart Kubernetes aussi disponible). ## ⚙ Configuration - **JWT_SECRET** : secret partagĂ© entre API et Worker, long et unique. - **Providers SMTP/SMS/Push** : Ă  configurer depuis l'UI dashboard (`/integrations`), chaque provider a ses credentials (SendGrid, Twilio, FCM, APNS, Slack
). - **MongoDB** : URI avec auth Ă  partir du moment oĂč l'instance est exposĂ©e. - **Redis** : utilisĂ© comme broker de jobs, obligatoire pour les workers. - **Variables frontend** : `REACT_APP_API_URL`, `REACT_APP_WS_URL` Ă  pointer vers l'API/WS derriĂšre le reverse-proxy. ## 🔗 Alternatives - **Knock** — Concurrent direct, plus orientĂ© produit, moins orientĂ© self-host. - **OneSignal** — Notifications push gratuites, mais service cloud uniquement. - **Knative Eventing / Apache Kafka + SMTP** — Plus bas niveau, davantage de travail d'intĂ©gration. - **Supabase + pg_net** — Combinaison maison pour des besoins simples, sans UI de templates. ## 🔒 SĂ©curitĂ© - **API key & secrets providers** : stocker via `secrets` Docker / Vault / SOPS, **jamais en clair dans le compose**. - **JWT** : rotation rĂ©guliĂšre de `JWT_SECRET` invalide toutes les sessions en cours. - **MongoDB** : activer l'auth (`MONGO_INITDB_ROOT_USERNAME/PASSWORD`) et ne pas exposer 27017. - **Dashboard** : mettre en place un SSO/OIDC devant l'UI si l'instance est partagĂ©e en Ă©quipe. - **Rate-limiting** : Novu expose des endpoints publics (webhooks entrants) — limiter via reverse-proxy (fail2ban, Traefik middlewares). ## 📚 Ressources - [Site officiel](https://novu.co) - [Documentation](https://docs.novu.co) - [Repository GitHub](https://github.com/novuhq/novu) - [Selfh.st — Novu](https://selfh.st/apps/?tag=Development) - [Notification Inbox (composant)](https://docs.novu.co/inbox/introduction) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-supabase]] — Couplage courant Novu + Supabase (auth + notifications) - [[app-appwrite]] — Alternative BaaS avec fonctions de notification - [[app-traefik]] — Reverse-proxy HTTPS recommandĂ© - [[securisation-home-lab]] — Bonnes pratiques de sĂ©curitĂ© - [[recettes-docker-compose]] — Templates Docker