---
title: "Node-RED avec Docker Compose et hébergement en un clic"
description: "Node-RED, outil low-code, relie API, appareils et services en flux dans le navigateur. Auto-hébergez cet éditeur d’automatisation open source en un clic."
---

[← Tous les templates](https://pethost.dev/fr/templates/) · [Automatisation](https://pethost.dev/fr/templates/automation/)

# Déployez Node-RED en un clic

Des flux low-code qui relient API, appareils et services en ligne

Une alternative auto-hébergée à Zapier et IFTTT.

[Déployer sur Pethost](https://console.pethost.dev/?template=node-red)

## Qu’est-ce que Node-RED ?

Node-RED est un outil de programmation low-code et open source pour les applications événementielles, souvent utilisé à la place de Zapier ou d’IFTTT. Dans son éditeur web, vous glissez des nœuds sur un canevas et les reliez en flux : un message arrive d’une requête HTTP, d’un topic MQTT, d’un webhook ou d’un minuteur, traverse des nœuds qui le modifient, le filtrent ou l’aiguillent, puis repart vers une base de données, une API ou une messagerie. Un nœud Function exécute votre propre JavaScript là où aucun nœud ne convient, et la bibliothèque de la communauté compte plus de 6 000 nœuds à installer depuis l’éditeur.

Node-RED est né chez IBM en 2013 et c’est aujourd’hui un projet de l’OpenJS Foundation. On s’en sert pour la domotique, souvent à côté de Home Assistant, pour l’IoT et les données industrielles, et pour faire le lien entre des services web ; on l’auto-héberge pour faire tourner ses automatisations jour et nuit, sans prix par exécution. Ce template n’ouvre l’éditeur qu’avec le nom d’utilisateur et le mot de passe indiqués. Le revers : les routes des nœuds HTTP In sont publiques, donc un endpoint qui doit rester privé a besoin de httpNodeAuth dans settings.js ou de sa propre vérification.

## Hébergement de Node-RED sur Pethost

1. Vous vous connectez à Pethost avec une clé d’accès, GitHub ou Google. Pas encore de machine ? Vous choisissez une offre, et le lien attend qu’elle soit prête.
2. Nouveau projet s’ouvre sur Node-RED. Vous remplissez ce qu’il demande et cliquez sur Créer le projet : **Nom d’utilisateur**, **Mot de passe administrateur**.
3. En une minute ou deux, Node-RED tourne à sa propre adresse en HTTPS. Ses secrets sont créés au hasard, et ses données sont dans la sauvegarde nocturne.
4. C’est un projet comme les autres : vous ou votre agent pouvez le modifier, revenir à une version précédente ou le restaurer.

## Questions sur Node-RED

**Node-RED est-il gratuit ?**

Oui. Node-RED est open source sous licence Apache 2.0 et ne coûte rien, quel que soit le nombre de flux ou de messages. C’est un projet de l’OpenJS Foundation.

**Comment installer de nouveaux nœuds dans Node-RED ?**

Ouvrez le menu principal, choisissez « Gérer la palette » et cherchez dans son onglet Installer, qui liste les nœuds de la bibliothèque de la communauté. Les nœuds installés sont conservés dans le volume data : ils restent après les redémarrages et les nouveaux déploiements.

**Node-RED fonctionne-t-il avec Home Assistant ?**

Oui. Les nœuds node-red-contrib-home-assistant-websocket dialoguent avec Home Assistant par ses API WebSocket et REST, pour réagir à ses événements et appeler ses services. Votre Home Assistant doit être joignable depuis la machine où tourne Node-RED.

**Comment créer un dashboard avec Node-RED ?**

Installez @flowfuse/node-red-dashboard avec « Gérer la palette » : ses nœuds dessinent des boutons, des graphiques et des formulaires sur une page que sert Node-RED. L’ancien node-red-dashboard est obsolète depuis juin 2024.

**Comment protéger les endpoints HTTP de mes flux Node-RED ?**

L’éditeur demande une connexion, mais les routes des nœuds HTTP In répondent à tout le monde. Définissez httpNodeAuth avec un utilisateur et un hash bcrypt dans /data/settings.js pour les protéger toutes par un même mot de passe, ou vérifiez un token dans le flux lui-même.

**De combien de mémoire et de disque Node-RED a-t-il besoin ?**

Node-RED est léger : environ 100 MB de mémoire ; les flux pèsent quelques KB, et chaque nœud installé quelques MB. Sur Pethost, l’offre Starter lui suffit, avec de la place pour d’autres applications à côté.

## Le fichier Docker Compose de Node-RED

Le template, c’est ce compose.yaml et les variables écrites dans le .env du projet à sa création. Pethost exécute le fichier tel qu’il est écrit.

**Conteneurs :** node-red (nodered/node-red:5).

**Volumes, dans la sauvegarde nocturne :** data.

```
services:
  node-red:
    image: nodered/node-red:5
    restart: unless-stopped
    environment:
      TZ: ${TZ:-UTC}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # The editor would be open to anyone with the address. Node-RED starts with the settings of
    # /data/settings.js, which are yours to edit, and with the username and password of the
    # project's .env as its only sign-in, unless settings.js sets adminAuth itself.
    entrypoint: ["/bin/bash", "-c"]
    command:
      - |
        # The first start: settings.js to edit, and no flow, where the image's would warn of a
        # missing volume, which the project has.
        if [ ! -f /data/settings.js ]; then
          cp node_modules/node-red/settings.js /data/settings.js
          rm -f /data/flows.json
        fi
        cat > /tmp/settings.js <<'END'
        const { createHash, timingSafeEqual } = require("node:crypto");
        const settings = require("/data/settings.js");
        const digest = (text) => createHash("sha256").update(String(text)).digest();
        const user = (username) => (username === process.env.ADMIN_USERNAME ? { username, permissions: "*" } : null);
        settings.adminAuth ??= {
          type: "credentials",
          users: async (username) => user(username),
          authenticate: async (username, password) =>
            timingSafeEqual(digest(password), digest(process.env.ADMIN_PASSWORD)) ? user(username) : null
        };
        module.exports = settings;
        END
        exec ./entrypoint.sh --settings /tmp/settings.js
    volumes:
      - data:/data

volumes:
  data:
```

[compose.yaml](https://pethost.dev/templates/node-red/compose.yaml)[Le voir sur GitHub](https://github.com/pethost-dev/templates/tree/main/node-red)

## [Aussi dans Automatisation](https://pethost.dev/fr/templates/automation/)

- [**n8n**Automatisation de workflows avec un éditeur visuel](https://pethost.dev/fr/templates/n8n/)
- [**Jenkins**Un serveur d’automatisation pour les builds, les tests et les déploiements](https://pethost.dev/fr/templates/jenkins/)
- [**Semaphore UI**Une interface web pour Ansible, Terraform et d’autres automatisations](https://pethost.dev/fr/templates/semaphore/)
- [**Activepieces**Automatisations et agents IA construits à partir de centaines de briques, sans code](https://pethost.dev/fr/templates/activepieces/)
- [**Windmill**Des scripts, des flows et des applis en Python, TypeScript, Go, SQL ou Bash, lancés par des workers selon un horaire, un webhook ou un bouton](https://pethost.dev/fr/templates/windmill/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Templates](https://pethost.dev/fr/templates/)
- [À propos](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/fr/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Conditions](https://pethost.dev/terms/)
- [Confidentialité](https://pethost.dev/privacy/)
- [Remboursements](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bases de données

- [Postgres](https://pethost.dev/fr/postgres/)

Comparatifs

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/fr/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/fr/blog/coolify-cloud-vs-dokploy-cloud/)
- [Tarifs Railway vs Render vs Fly.io](https://pethost.dev/fr/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hébergement Docker Compose managé](https://pethost.dev/fr/blog/managed-docker-compose-hosting/)

Alternatives

- [Alternatives à Railway](https://pethost.dev/fr/blog/railway-alternatives/)
- [Alternatives à Heroku](https://pethost.dev/fr/blog/heroku-alternatives/)
- [Alternatives à Dokploy](https://pethost.dev/fr/blog/dokploy-alternatives/)
- [Alternatives à Coolify](https://pethost.dev/fr/blog/coolify-alternatives/)
- [Alternatives à Render](https://pethost.dev/fr/blog/render-alternatives/)
- [Alternatives à Sliplane](https://pethost.dev/fr/blog/sliplane-alternatives/)
