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

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Автоматизація](https://pethost.dev/uk/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 там, де жоден вузол не підходить, а бібліотека спільноти налічує понад 6 000 вузлів, які можна встановити просто з редактора.

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

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

1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
2. Вікно «Новий проєкт» відкривається на застосунку Node-RED. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: **Ім’я користувача**, **Пароль адміністратора**.
3. За хвилину-дві Node-RED працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

## Питання про Node-RED

**Node-RED безкоштовний?**

Так. Node-RED має відкритий код за ліцензією Apache 2.0 і нічого не коштує, хоч би скільки було потоків чи повідомлень. Це проєкт OpenJS Foundation.

**Як установити додаткові вузли в Node-RED?**

У Node-RED відкрийте головне меню, оберіть «Manage palette» і шукайте на вкладці «Install», де перелічено вузли бібліотеки спільноти. Установлені вузли зберігаються в томі 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 через «Manage palette»: його вузли малюють кнопки, графіки й форми на сторінці, яку віддає 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/uk/templates/automation/)

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

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/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/uk/postgres/)

Порівняння

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

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

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