Спестете 15% от всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код: Skills За начало
Заглавия
Linux

N8N Automation Tutorial за Ubuntu – От нула до Flow

Ключови думи

ТерминБързо определение
🚀 N8NВизуална, базирана на възли платформа за автоматизация на работни процеси за свързване на различни външни услуги.
🐳 DockerИнструмент за контейнеризация, който позволява последователно, изолирано разгръщане и управление на приложения.
🐘 PostgreSQLНадежна релационна база данни, служеща като основно, постоянно хранилище на данни за N8N.
🧩 NodeЕдин функционален блок в N8N (например спусък на данни или API действие), който изпълнява конкретна задача.
🔄 WorkflowКонфигуриран автоматизиран процес, построен чрез свързване на множество възли заедно за обработка на последователности от задачи.
💾 Docker VolumeОпределен механизъм за съхранение в Docker, използван за постоянно запазване на системни данни извън контейнерите.
🔐 Environment VariableЗащитени стойности на конфигурация (съхранявани в .env файл), безопасно внедрени в Docker контейнерите.

Защо автоматизацията е важна

Automation

Съвременните екипи не “управляват едно приложение” — те работят с верига от SaaS инструменти, вътрешни услуги, хранилища на данни и системи за чат/известяване. Цената на тази сложност се проявява по предвидими начини:

  • Ръчни предавания и повтарящи се рутинни задачи (копиране/поставяне между системи)
  • Бавни цикли на отговор (одобрения, маршрутизиране на билети, известяване за инциденти)
  • Непоследователни резултати (човешка грешка, пропуснати стъпки, частични актуализации)
  • Крехки интеграции (еднократни скриптове без видимост или отговорност)

Автоматизацията е един от най-ефективните начини за намаляване на това триене. Дори малки работни процеси — синхронизиране на данни, валидиране на полезни товари, публикуване на известяния, актуализиране на записи — могат да се превърнат в значими печалби: по-бързо време на цикъл, по-малко грешки и по-последователни операции. Важно е, че “автоматизацията” не е само за намаляване на усилията; това е също за правене на процесите наблюдаеми и повторяеми.

Този доклад подхожда към автоматизацията като производствена инфраструктура: внедрете я чисто, контролирайте конфигурацията, поддържайте данните постоянни и проверете поведението с детерминиран тестов работен процес.

Какво е N8N (и защо може да стане твой най-добър приятел)

N8N

N8N е платформа за автоматизация на работни процеси, която ти позволява да свързваш услуги с помощта на редактор, базиран на възли. Изграждаш работни процеси от “възли” (тригери, трансформации на данни, API повиквания, операции с база данни, известия), след което ги изпълняваш ръчно, по график или чрез webhooks.

Това, което прави n8n особено полезен в контекста на Linux развертане:

  • Самостоятелно хостване: можеш да го стартираш на своята собствена инфраструктура за контрол над данните и мрежата.
  • Разширяеми интеграции: много вградени възли, плюс генерични HTTP възли за всичко с API.
  • Оперативно удобен: работи добре в контейнери, може да използва Postgres за съхранение и поддържа конфигурация, управлявана от среда.
  • Добър за постепенно приемане: начни с прости работни процеси, след това укрепи достъпа (обратен прокси + HTTPS) и оперативните практики с растежа на използването.

В тази оценка n8n се третира като услуга, която наистина може да стартираш: избора на развертане и конфигурацията са документирани с пристрастие към яснота, възпроизводимост и “бъдещо укрепване” (без прекомерно инженерство на първоначалната настройка).

Самостоятелно хостване на вашия собствен N8N екземпляр

Готови ли сте да опитате? Настройката изисква няколко технически стъпки, но не се притеснявайте — следвайте това ръководство и ще имате вашия първи N8N екземпляр работещ в мигове.

Този урок използва Ubuntu 22.04, работещ на VPS, предоставен от AlexHost.

Настройка на Docker

Има няколко начина за настройка на n8n. За този урок използваме Docker, защото предоставя ясен и надежден подход за управление и конфигуриране на n8n.

Първо, убедете се, че docker и docker compose са инсталирани на вашата система.

# Check for docker
docker -v

# Check for docker compose
docker compose

Ако това върне версия, всичко е наред.

Ако нямате инсталирано, просто следвайте тази страница за инструкции: ръководство за инсталация. Убедете се, че сте избрали правилната ОС, която използвате.

Структура на проекта

Правилното организиране на файлове е от съществено значение за яснота и дългосрочна поддържаемост. По конвенция, Docker услугите обикновено се поместват в директорията /opt. В нея беше създадена папка docker_services за съхранение на всички услуги, включително N8N.

# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n

# Navigate to n8n folder
cd /opt/docker_services/n8n

Добавяне на docker compose файл

За да стартираме нашия n8n екземпляр и неговата базова база данни, ще използваме файл compose.yaml. Избираме PostgreSQL вместо подразумеваното SQLite, защото предоставя много по-надежден и готов за производство магазин данни за конфигурация и логове на изпълнение.

Създайте файла с помощта на текстов редактор като nano:

nano compose.yaml

Поставете следната конфигурация в файла:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.n8n
      - ./files:/files
    depends_on:
      - postgres

  postgres:
    image: postgres:15
    restart: always
    env_file:
      - .env
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Разбиране на конфигурацията:

КомпонентОписание
УслугиРаботи два контейнера: n8n (основното приложение) и postgres:15. Използването на Postgres е силно предпочитано пред подразумеваното SQLite. n8n естествено зависи от него да стартира първо.
Политика на рестартиранеИзползва restart: always, така че контейнерите автоматично рестартират при системно стартиране или ако се срутат.
ПортовеЕкспозира порт 5678, така че можете да получите достъп до уеб интерфейса на n8n.
СредаИ двете услуги зареждат конфигурация от споделен файл .env за безопасно управление на променливи като учетни данни на БД.
ТомовеСвързва локални директории на хоста към пътища на контейнера, за да запази данните постоянни:
./data → конфигурации на n8n (/home/node/.n8n)
./files → съхранение на файлове (/files)
./postgres-data → База данни (/var/lib/postgresql/data)

Преди стартиране на контейнерите, трябва явно да създадете необходимите директории, така че да са готови за картографиране:

# Use your own path if different
cd /opt/docker_services/n8n

mkdir data files postgres-data

Собственост на директория и разрешения

По подразумеране, когато Docker автоматично създава директории на хоста за вашите томове (като нашите папки data и files), той присвоява собственост на потребителя root. Въпреки това, по причини на сигурност, контейнерът n8n намерено отпуска привилегии и работи като потребител без root (конкретно, UID 1000).

Ако тези папки останат собственост на root, n8n няма да може да запази своята конфигурация или файлове на база данни, което ще причини контейнерът да се срути при стартиране с грешка “разрешение отказано”. За да избегнем това трение, явно даваме собственост на тези директории на правилния потребител преди стартиране на услугата.

# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files

Добавяне на .env файл

Docker използва файла .env за предаване на системни конфигурации и тайни в нашите контейнери без да ги кодираме в нашия compose.yaml.

Създайте файла в същата директория:

nano .env

Поставете следната конфигурация (убедете се, че замените example.com и паролата на базата данни със собствени защитени стойности):

# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production


# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123

Разбиране на променливите на средата:

ПроменливаОписание
Домейн и хостОпределя DOMAIN_NAME, SUBDOMAIN и N8N_HOST. Те са от съществено значение за картографиране на приложението n8n към конкретен URL (като n8n.example.com), позволяващ външни достъп чрез DNS.
Часова зонаGENERIC_TIMEZONE задава часовата зона специално за процеса на приложението Node.js, така че планирането и времевите печати на логовете са точни за вашия регион.
Протоколи и WebhookN8N_PROTOCOL и WEBHOOK_URL конфигурират как n8n взаимодейства със външния свят. Това е от решаващо значение, ако интегрирате услуги, които изискват URL на обратен повик.
Защитен бисквиткаN8N_SECURE_COOKIE е зададен на false, защото по подразумеране работим без HTTPS обратен прокси локално. Ако по-късно конфигурирате SSL/HTTPS чрез външен прокси, можете да изтриете този ред, така че да се върне към true.
Среда на възелNODE_ENV трябва строго да бъде зададен на production. Това оптимизира основния сървър Node.js за производителност, а не за отстраняване на грешки, независимо от действителните етапи на развертване.
Учетни данни на база данниPOSTGRES_DB, USER и PASSWORD се използват при първоначалното стартиране за създаване на базата данни PostgreSQL и удостоверяване на последващи връзки. Винаги използвайте силни персонализирани пароли тук.

Запазете и затворете файла. Сега имате всички необходими конфигурации за работа на вашия Docker Compose стек.

Стартиране на docker услуги

Навигирайте към вашата директория на проекта и активирайте всички услуги в фона.

# Use your own path if different
cd /opt/docker_services/n8n

docker compose up -d

Docker изтегля необходимите образи и стартира вашите контейнери. След като работят, n8n ще бъде достъпен на порт 5678 (по подразумеране) или на вашия конфигуриран домейн, ако използвате обратен прокси.

За да потвърдите, че работи правилно, проверете дали контейнерите n8n и postgres са изброени и работят.

docker ps

Работа с N8N

След като услугите работят успешно, най-накрая е време да започнете да изследвате N8N!

Достъп до N8N

N8N може да бъде достъпен чрез уеб браузър. В тази локална настройка, той е достъпен на следния URL: http://localhost:5678.

При първи достъп се появява страница за вход с общи полета за попълване.

Login page

Настройка на лицензния ключ

Първоначално, N8N показва прозорец, предлагащ безплатен лицензен ключ, който отключва платени функции. Да, чухте правилно: платени функции безплатно! Това е един от предимствата на самостоятелното хостване на N8N екземпляр.

License key

След като получите лицензния ключ по имейл, можете да отидете на Настройки->Употреба и план за активиране.

License key activate

Създаване на първи работен процес

Нови работни процеси могат да бъдат създадени директно от главната страница. Вижте изображението по-долу.

Create wf

За първия случай на използване ще бъдат използвани два възела:

  • Ръчен спусък: стартира работния процес ръчно.
  • Възел за задаване: определя и работи с полета и техните стойности.

Възелът Manual Trigger не изисква конфигурация, докато възелът Set го прави. В нашия случай целта е да изведем съобщение, което гласи “n8n работи” заедно с времевата печат на събитието. Възелът Set е конфигуриран както е показано на изображението по-долу.

Set node

След като двата възела са свързани и конфигурирани, стартираме работния процес, като натиснем бутона Изпълни работния процес.

Success 1
Success 2

Поздравления 👏, вашият първи N8N работен процес е успешно изпълнен!

Какво следва?

Това начално настройване е само началото. Истинската мощ на N8N се разкрива, когато започнете да свързвате ежедневните си инструменти, за да автоматизирате повтарящи се задачи и намалите триенето. Например, можете да създадете работни процеси, които автоматично синхронизират нови потенциални клиенти от вашия уебсайт в CRM, маршрутизират спешни предупреждения и критични грешки на услугите към екипния чат, или периодично архивират данни от различни SaaS платформи в вашата база данни. Възможностите за автоматизиране на вашите операции и опростяване на ежедневната си работа са почти безкрайни.

Заключение

Чрез завършване на това ръководство успешно развихте мощна, самостоятелно хоствана платформа, способна да трансформира начина, по който управлявате ежедневните операции. Благодарим ви, че следвахте това настройване! Докато продължавате да изследвате какво може да направи N8N, не забравяйте да проверите нашите други уроци, за да откриете още повече удивителни и полезни инструменти. Когато сте готови да мащабирате или да се потопите в нови, вълнуващи проекти, помните, че AlexHost предоставя цялата надежна инфраструктура, която ви трябва, за да хостирате вашите услуги надежно.