---
title: "Node-RED: Docker Compose и хостинг в один клик"
description: "Node-RED — low-code инструмент, соединяющий API, устройства и сервисы в потоки в браузере. Self-hosted open source редактор автоматизаций в один клик."
---

[← Все шаблоны](https://pethost.dev/ru/templates/) · [Автоматизация](https://pethost.dev/ru/templates/automation/)

# Задеплойте Node-RED в один клик

Low-code потоки, которые связывают API, устройства и онлайн-сервисы

Альтернатива Zapier и IFTTT на вашей машине.

[Задеплоить на Pethost](https://console.pethost.dev/?template=node-red)

## Что такое Node-RED?

Node-RED — инструмент с открытым кодом для low-code программирования событийно-ориентированных приложений. Его часто запускают вместо Zapier или IFTTT. В его редакторе в браузере вы перетаскиваете узлы на рабочую область и соединяете их в потоки: сообщение приходит из HTTP-запроса, топика MQTT, вебхука или таймера, проходит через узлы, которые меняют, фильтруют или направляют его дальше, и уходит в базу данных, API или чат. Узел Function выполняет ваш собственный JavaScript там, где не подходит ни один узел, а в библиотеке сообщества больше 6000 узлов, которые устанавливаются прямо из редактора.

Node-RED появился в IBM в 2013 году, а сейчас это проект OpenJS Foundation. Его используют для умного дома, часто вместе с Home Assistant, для IoT и промышленных данных и как связующее звено между веб-сервисами, а хостят у себя, чтобы автоматизации работали круглосуточно и без платы за каждый запуск. Этот шаблон пускает в редактор только с заданными именем пользователя и паролем. Подвох: маршруты узлов HTTP In публичны, поэтому эндпоинту, который должен быть закрытым, нужен httpNodeAuth в settings.js или собственная проверка.

## Хостинг Node-RED на Pethost

1. Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
2. Окно «Новый проект» открывается на приложении Node-RED. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: **Имя пользователя**, **Пароль администратора**.
3. Через минуту-две Node-RED работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
4. Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.

## Вопросы про Node-RED

**Node-RED бесплатный?**

Да. Node-RED распространяется с открытым кодом под лицензией Apache 2.0 и ничего не стоит, сколько бы ни было потоков или сообщений. Это проект OpenJS Foundation.

**Как установить новые узлы в Node-RED?**

Откройте главное меню, выберите «Управление палитрой» и воспользуйтесь поиском на вкладке «Установить», где перечислены узлы библиотеки сообщества. Установленные узлы хранятся в томе data, поэтому переживают перезапуски и новые деплои.

**Работает ли Node-RED с Home Assistant?**

Да. Узлы node-red-contrib-home-assistant-websocket общаются с Home Assistant через его WebSocket и REST API: реагируют на его события и вызывают его сервисы. Ваш Home Assistant должен быть доступен с сервера, на котором работает Node-RED.

**Как сделать дашборд в Node-RED?**

Установите @flowfuse/node-red-dashboard через «Управление палитрой»: его узлы рисуют кнопки, графики и формы на странице, которую отдает Node-RED. Старый node-red-dashboard с июня 2024 года считается устаревшим.

**Как защитить HTTP-эндпоинты потоков в Node-RED?**

Редактор Node-RED требует входа, а вот маршруты узлов HTTP In отвечают кому угодно. Чтобы закрыть их все одним паролем, задайте httpNodeAuth с пользователем и bcrypt-хешем в /data/settings.js или проверяйте токен в самом потоке.

**Сколько памяти и диска нужно Node-RED?**

Node-RED: небольшие требования — около 100 MB памяти; потоки занимают килобайты, а каждый установленный узел — несколько мегабайт. На Pethost ему хватит тарифа Starter, и рядом останется место для других приложений.

## Node-RED: файл Docker Compose

Шаблон — это этот compose.yaml и переменные, которые пишутся в .env проекта при его создании. Pethost запускает файл так, как он написан.

**Контейнеры:** node-red (nodered/node-red:5).

**Тома, в ночном бэкапе:** 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)[Открыть на GitHub](https://github.com/pethost-dev/templates/tree/main/node-red)

## [Еще в категории «Автоматизация»](https://pethost.dev/ru/templates/automation/)

- [**n8n**Автоматизация рабочих процессов с визуальным редактором](https://pethost.dev/ru/templates/n8n/)
- [**Jenkins**Сервер автоматизации для сборок, тестов и деплоев](https://pethost.dev/ru/templates/jenkins/)
- [**Semaphore UI**Веб-интерфейс для Ansible, Terraform и другой автоматизации](https://pethost.dev/ru/templates/semaphore/)
- [**Activepieces**Автоматизации и AI-агенты из сотен готовых блоков, без кода](https://pethost.dev/ru/templates/activepieces/)
- [**Windmill**Скрипты, флоу и приложения на Python, TypeScript, Go, SQL или Bash, которые воркеры запускают по расписанию, вебхуку или кнопке](https://pethost.dev/ru/templates/windmill/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагин](https://github.com/pethost-dev/plugin)
- [Условия](https://pethost.dev/terms/)
- [Конфиденциальность](https://pethost.dev/privacy/)
- [Возвраты](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Базы данных

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

Сравнения

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/ru/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/ru/blog/coolify-cloud-vs-dokploy-cloud/)
- [Цены Railway, Render и Fly.io](https://pethost.dev/ru/blog/railway-vs-render-vs-fly-io-pricing/)
- [Управляемый хостинг Docker Compose](https://pethost.dev/ru/blog/managed-docker-compose-hosting/)

Альтернативы

- [Альтернативы Railway](https://pethost.dev/ru/blog/railway-alternatives/)
- [Альтернативы Heroku](https://pethost.dev/ru/blog/heroku-alternatives/)
- [Альтернативы Dokploy](https://pethost.dev/ru/blog/dokploy-alternatives/)
- [Альтернативы Coolify](https://pethost.dev/ru/blog/coolify-alternatives/)
- [Альтернативы Render](https://pethost.dev/ru/blog/render-alternatives/)
- [Альтернативы Sliplane](https://pethost.dev/ru/blog/sliplane-alternatives/)
