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

Съвременните екипи не “управляват едно приложение” — те работят с верига от SaaS инструменти, вътрешни услуги, хранилища на данни и системи за чат/известяване. Цената на тази сложност се проявява по предвидими начини:
- Ръчни предавания и повтарящи се рутинни задачи (копиране/поставяне между системи)
- Бавни цикли на отговор (одобрения, маршрутизиране на билети, известяване за инциденти)
- Непоследователни резултати (човешка грешка, пропуснати стъпки, частични актуализации)
- Крехки интеграции (еднократни скриптове без видимост или отговорност)
Автоматизацията е един от най-ефективните начини за намаляване на това триене. Дори малки работни процеси — синхронизиране на данни, валидиране на полезни товари, публикуване на известяния, актуализиране на записи — могат да се превърнат в значими печалби: по-бързо време на цикъл, по-малко грешки и по-последователни операции. Важно е, че “автоматизацията” не е само за намаляване на усилията; това е също за правене на процесите наблюдаеми и повторяеми.
Този доклад подхожда към автоматизацията като производствена инфраструктура: внедрете я чисто, контролирайте конфигурацията, поддържайте данните постоянни и проверете поведението с детерминиран тестов работен процес.
Какво е 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, така че планирането и времевите печати на логовете са точни за вашия регион. |
| Протоколи и Webhook | N8N_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.
При първи достъп се появява страница за вход с общи полета за попълване.

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

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

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

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

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


Поздравления 👏, вашият първи N8N работен процес е успешно изпълнен!
Какво следва?
Това начално настройване е само началото. Истинската мощ на N8N се разкрива, когато започнете да свързвате ежедневните си инструменти, за да автоматизирате повтарящи се задачи и намалите триенето. Например, можете да създадете работни процеси, които автоматично синхронизират нови потенциални клиенти от вашия уебсайт в CRM, маршрутизират спешни предупреждения и критични грешки на услугите към екипния чат, или периодично архивират данни от различни SaaS платформи в вашата база данни. Възможностите за автоматизиране на вашите операции и опростяване на ежедневната си работа са почти безкрайни.
Заключение
Чрез завършване на това ръководство успешно развихте мощна, самостоятелно хоствана платформа, способна да трансформира начина, по който управлявате ежедневните операции. Благодарим ви, че следвахте това настройване! Докато продължавате да изследвате какво може да направи N8N, не забравяйте да проверите нашите други уроци, за да откриете още повече удивителни и полезни инструменти. Когато сте готови да мащабирате или да се потопите в нови, вълнуващи проекти, помните, че AlexHost предоставя цялата надежна инфраструктура, която ви трябва, за да хостирате вашите услуги надежно.
от всички хостинг услуги