Post

n8n у Docker + локальна Ollama: створюємо автономного ШІ-помічника без підписок

n8n у Docker + локальна Ollama: створюємо автономного ШІ-помічника без підписок

🇬🇧 Read this article in English


Хмарні сервіси автоматизації на кшталт Zapier чи Make (Integromat) — чудові інструменти, поки ви не впретеся в їхні обмеження. Безкоштовні плани дають жалюгідні 100 операцій на місяць, а платні тарифи швидко починають коштувати як окремий орендований сервер.

Але фінанси — це лише половина проблеми. Головний біль — приватність та витрати на ШІ.

Якщо ви хочете, щоб автоматизація аналізувала ваші листи, серверні логи, фінансові виписки чи домашні сповіщення за допомогою ChatGPT, вам доводиться:

  1. Зливати чутливі персональні дані на сервери сторонніх компаній.
  2. Щомісяця сплачувати рахунки за OpenAI API за кожен переданий токен.

Сьогодні ми розгорнемо альтернативу корпоративного рівня у власному Homelab: потужний візуальний конструктор автоматизацій n8n, підключений до локальної нейромережі Ollama в Docker.

Результат: 100% приватна, безлімітна та безкоштовна платформа автоматизації, яка працює на вашому залізі й не надсилає назовні жодного байту.

Схема робочого процесу n8n з локальним ШІ Мал. 1. Пайплайн в n8n: тригер розкладу ➔ нода локальної моделі Ollama (Llama 3.2 / Qwen 2.5) ➔ надсилання розумного висновку в Telegram


Чому саме n8n та Ollama?

  • n8n — це золотий стандарт self-hosted автоматизацій. На відміну від старих рішень, n8n має сучасний візуальний інтерфейс, сотні готових інтеграцій (Telegram, Discord, PostgreSQL, Webhooks, GitHub, Google Sheets) і, найголовніше, нативну підтримку AI-агентів (LangChain).
  • Ollama — як ми розбирали в статті про локальний ШІ, це найпростіший спосіб запустити сучасні відкриті моделі (Llama 3.2, Mistral, Qwen 2.5) на власному комп’ютері чи сервері.

Поєднавши їх в одній ізольованій мережі Docker, ми отримуємо повноцінного штучного інтелекта-асистента, який може ухвалювати рішення в реальному часі, парсити сирі дані та керувати вашими сервісами.


Архітектура: як n8n спілкується з Ollama в Docker

Поширена помилка новачків: спробувати з’єднати n8n з Ollama через http://localhost:11434.

Всередині контейнера localhost вказує на сам контейнер n8n, а не на хост-машину. Тому ми об’єднаємо обидва сервіси в спільну віртуальну мережу Docker (ai-network). У цьому випадку n8n звертається до нейромережі за внутрішнім системним іменем:
http://ollama:11434.


Крок 1. Розгортання n8n та Ollama через Docker Compose

Створимо каталог для нашого проекту:

1
2
mkdir -p /opt/n8n-ai
cd /opt/n8n-ai

Створюємо файл docker-compose.yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_data:/root/.ollama
    networks:
      - ai-network
    # Якщо у вас є відеокарта NVIDIA, розкоментуйте блок нижче для прискорення:
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: all
    #           capabilities: [gpu]

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.local
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - GENERIC_TIMEZONE=Europe/Kyiv
      - TZ=Europe/Kyiv
    volumes:
      - ./n8n_data:/home/node/.n8n
    networks:
      - ai-network
    depends_on:
      - ollama

networks:
  ai-network:
    name: ai-network
    driver: bridge

Запускаємо стек:

1
docker compose up -d

Перевіримо статус контейнерів:

1
docker compose ps

Крок 2. Завантаження потрібної моделі в Ollama

Для задач автоматизації в n8n потрібні швидкі, чуйні та точні моделі.

Найкращі кандидати у 2026 році:

  • llama3.2:3b — ідеальна ультралегка модель. Працює блискавично навіть на звичайному процесорі (CPU) слабкого сервера чи Mini-PC, потребує лише ~2.5 ГБ RAM.
  • qwen2.5:7b або mistral:7b — якщо є відеокарта або потужний сервер. Чудово розбирається в структурованому JSON, коді та багатокроковій логіці.

Завантажимо компактну модель llama3.2:3b:

1
docker exec -it ollama ollama run llama3.2:3b

Після завершення завантаження перевірте працездатність простим запитом (наприклад, Hi, are you ready?) і вийдіть комбінацією Ctrl + D. Модель збережеться на диску та буде готова приймати запити від n8n.


Крок 3. Перший вхід та підключення Ollama в n8n

  1. Відкрийте у браузері http://IP_ВАШОГО_СЕРВЕРА:5678.
  2. При першому вході створіть обліковий запис адміністратора n8n.
  3. Перейдіть до бічного меню: Credentials ➔ Add Credential.
  4. У пошуку введіть Ollama. Оберіть Ollama.
  5. У полі Base URL вкажіть:
    1
    
    http://ollama:11434
    
  6. Натисніть Save. З’єднання перевірено і готове до роботи!

Крок 4. Практичний сценарій: Розумний Telegram-дайджест

Зробимо реальний корисний сценарій: щоранку о 09:00 n8n отримує технічні новини або логи сервера, відправляє їх локальній Ollama, а модель виділяє головне, відсікає спам і формує гарне повідомлення в Telegram.

1. Створюємо новий Workflow

Натисніть Add Workflow у верхньому правому кутку.

2. Додаємо тригер розкладу (Schedule Trigger)

  • Натисніть + на полотні.
  • Знайдіть Schedule Trigger.
  • Встановіть інтервал: щодня о 09:00.

3. Додаємо джерело даних

  • Додайте ноду HTTP Request (або RSS Read).
  • Наприклад, вкажіть посилання на RSS-стрічку новин кібербезпеки чи IT.

4. Додаємо інтелект: AI Agent + Ollama Chat Model

Ось тут починається справжня магія сучасного n8n:

  • Додайте ноду AI Agent.
  • У полі Prompt Type оберіть Define below.
  • Напишіть інструкцію системного промпту:
    1
    2
    3
    
    Ти — технічний аналітик. Прочитай наданий вхідний текст. 
    Виділи 3 найважливіші події, зроби короткий висновок українською мовою 
    та додай емодзі для оформлення. Будь лаконічним.
    
  • До блоку Model у ноді AI Agent приєднайте дочірню ноду Ollama Chat Model.
  • Вкажіть створені облікові дані Ollama та оберіть модель: llama3.2:3b.

5. Додаємо сповіщення в Telegram

  • Додайте ноду Telegram.
  • Оберіть операцію: Send a text message.
  • Вкажіть Chat ID та токен вашого бота (як створити бота, ми детально описували у гайді про серверні сповіщення).
  • У полі Text передайте результат роботи ШІ: ``.

Натисніть Test step — і через кілька секунд у ваш Telegram надійде розумне, відфільтроване повідомлення, згенероване вашою власною моделлю!


Безпека та доступ до n8n з інтернету

Якщо ви хочете приймати вхідні вебхуки (наприклад, сповіщення від GitHub, платіжних систем чи власного блогу), панель n8n має бути доступна ззовні.

  • Відкривати порт 5678 у роутері — небезпечно.
  • Найкраще рішення — скористатися Cloudflare Tunnel, про який ми писали нещодавно. Ви зможете виставити піддомен n8n.yourdomain.com без відкритих портів і захистити адмінку авторизацією Cloudflare Access.

Підсумки

Зв’язка n8n + Ollama перетворює звичайний сервер чи Homelab на автономний центр штучного інтелекту:

  1. Нуль витрат: жодних лімітів на кількість запусків і жодних рахунків за токени OpenAI.
  2. Абсолютна конфіденційність: ваші приватні листи, паролі, клієнтські бази та логи не покидають контур вашого сервера.
  3. Гнучкість: один раз налаштований пайплайн працює роками у фоні.

Спробуйте зібрати свій перший сценарій — і ви більше ніколи не повернетеся до платних хмарних конструкторів!

This post is licensed under CC BY 4.0 by the author.