Я в своё время изучил множество инструкций по установке n8n на свой сервер через терминал, но столкнулся со следующими сложностями.
Во‑первых, чаще всего такие инструкции ищут новички, и им нужна максимально простая и быстрая для понимания инструкция по установке n8n. Для этого я уже подготовил такую инструкцию. Ссылка на видео:
Инструкция в виде статьи: https://danila-shevchenko.ru/n8n/58/
Во‑вторых, для более комплексного понимания n8n продвинутым пользователям необходима инструкция, которая позволяет глубже разобраться в архитектуре n8n, принципах его работы и вариантах развёртывания под разные задачи. Именно под такой запрос я и пишу сегодняшнюю инструкцию.
При этом, несмотря на то что сегодня мы разберём технические моменты гораздо глубже, чем в прошлой инструкции, вы всё равно сможете понять все нюансы. Чтобы убедиться, что инструкция действительно подойдёт даже людям, далёким от терминала, программирования и n8n, я попросил пройтись по ней своего дедушку. Всё прошло успешно — n8n теперь работает даже у него.
- Как вы можете использовать n8n?
- Как установить n8n на свой сервер
- 1. Покупка сервера
- 2. Покупка и привязка домена
- 3. Подключение к серверу
- Установка и запуск n8n с помощью Docker и Docker Compose
- 1. Установка Docker и Docker Compose
- 1.1. Настройка APT-репозитория Docker
- 1.2. Установка последней версии Docker и Docker Compose
- 1.3. Проверка статуса сервиса Docker
- 1.4. Проверка установки Docker
- 2. Установка n8n через Docker
- 2.1. Создание volume для данных n8n
- 2.2. Запуск n8n контейнера
- 3. Установка n8n с Docker Compose и Traefik
- 3.1. Создание проекта и файла .env
- 3.2. Создание директории для локальных файлов
- 3.3. Создание Docker Compose файла
Как вы можете использовать n8n?
Я приведу более расширенный перечень вариантов использования n8n:
- Установить на свой компьютер. Если установить n8n на свой компьютер, это будет бесплатно, но ваши воркфлоу не будут работать, когда компьютер выключен.
- Пользоваться официальным облаком n8n — https://n8n.io. Если пользоваться официальным сайтом n8n, это будет значительно дороже, чем использование собственного сервера. Цены на сегодняшний день следующие:

- Установить на свой сервер и работать на нём. При использовании собственного сервера стоимость в среднем составляет 200–500 рублей в месяц, что значительно ниже тарифов на сайте n8n.io. Поэтому самым оптимальным вариантом будет установка n8n на свой сервер.
Как установить n8n на свой сервер
1. Покупка сервера
Нам не нужен физический сервер целиком, так как это нецелесообразно. Мы будем использовать виртуальный выделенный сервер (VPS). Он работает как физический сервер, но размещается на одной машине вместе с другими виртуальными серверами. Такой вариант в несколько раз дешевле, а выделенных ресурсов будет более чем достаточно. В качестве VPS я выбираю Beget, так как на российском рынке это один из лучших вариантов по соотношению цена–качество. Также у Beget есть бесплатные автоматические резервные копии сервера. Ссылка для покупки VPS: https://beget.com/p2490663/vps
На открывшейся странице нажмите кнопку «Создать» и пройдите процесс регистрации. Обязательно выберите раздел Cloud, чтобы создать именно VPS, а не обычный хостинг.


После регистрации на главной странице выберите раздел «Виртуальный сервер от 7 ₽ в день»:

Настройте конфигурацию сервера вручную, как на скриншоте. Итоговая стоимость должна составлять примерно 9,73 ₽ в день:

В качестве операционной системы выберите Ubuntu 24.04, после чего нажмите «Создать виртуальный сервер»:


2. Покупка и привязка домена
Перед авторизацией на сервере необходимо приобрести домен и привязать его к серверу. Если вы используете домен не от Beget, для публикации n8n в интернете вам необходимо самостоятельно создать отдельный поддомен/домен и направить его на IP-адрес сервера.
Добавьте A-запись:
| Тип записи | Имя | Назначение |
| A | n8n (или другой поддомен/домен) | <your_server_IP_address> |
Для примера я буду покупать домен от Beget, но вы можете выбрать любого регистратора. В панели Beget перейдите в раздел «Домены и поддомены»:

Затем «Регистрация доменов». Выберите подходящий домен и нажмите «Продолжить»

При оформлении обязательно выберите созданный вами сервер в выпадающем списке, чтобы домен был сразу привязан к нему. Обратите внимание, что подключение домена может занять до 24 часов, но на практике обычно занимает не более 10–15 минут.

3. Подключение к серверу
Для подключения к серверу используйте SSH‑клиент в зависимости от вашей операционной системы.
Windows:
– PuTTY
– MobaXterm
– OpenSSH (через PowerShell или CMD)
macOS:
– Встроенный Terminal
– iTerm2
– Termius
Linux:
– Встроенный терминал
– Konsole / GNOME Terminal
Я использую macOS и программу Termius — это бесплатный и удобный SSH‑клиент. Скачать можно здесь: https://termius.com/index.html. Данные для входа на сервер обычно приходят на почту, указанную при регистрации у сервер‑провайдера.


Установка и запуск n8n с помощью Docker и Docker Compose
Далее все команды необходимо выполнять строго по порядку, ориентируясь на официальную документацию:
- Docker для Ubuntu — https://docs.docker.com/engine/install/ubuntu/
- Установка n8n через Docker — https://docs.n8n.io/hosting/installation/docker/
- Установка n8n с Docker Compose и Traefik — https://docs.n8n.io/hosting/installation/server-setups/docker-compose/
1. Установка Docker и Docker Compose
1.1. Настройка APT-репозитория Docker
Добавьте официальный GPG-ключ Docker:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Добавьте репозиторий в источники Apt:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Обновление списка доступных пакетов и их версий:
sudo apt update
1.2. Установка последней версии Docker и Docker Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1.3. Проверка статуса сервиса Docker
Сервис Docker запускается автоматически после установки. Нужно проверить, что он работает:
sudo systemctl status docker
1.4. Проверка установки Docker
Запустите тестовый контейнер hello-world:
sudo docker run hello-world
2. Установка n8n через Docker
2.1. Создание volume для данных n8n
docker volume create n8n_data
2.2. Запуск n8n контейнера
Выполните команду ниже, заменив <YOUR_TIMEZONE> на ваш часовой пояс:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="<YOUR_TIMEZONE>" \
-e TZ="<YOUR_TIMEZONE>" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
3. Установка n8n с Docker Compose и Traefik
3.1. Создание проекта и файла .env
Создайте директорию проекта:
mkdir n8n-compose
Перейдите в данную директорию:
cd n8n-compose
Внутри директории создайте файл .env
touch .env
Откройте файл .env
nano .env
Вставьте в файл .env следующее содержимое:
# DOMAIN_NAME и SUBDOMAIN вместе определяют, откуда будет доступен n8n
# Домен верхнего уровня, с которого будет обслуживаться n8n
DOMAIN_NAME=example.com
# Субдомен, с которого будет обслуживаться n8n. Если субдомен не используется, то нужно оставить SUBDOMAIN пустым или удалить эту строку
SUBDOMAIN=n8n
# В приведенном выше примере n8n будет доступен по адресу: https://n8n.example.com
# Необязательная настройка часового пояса, который будет использоваться узлами Cron и другими узлами планирования
# Значение по умолчанию - Нью-Йорк, если не задано другое
GENERIC_TIMEZONE=Europe/Moscow
# Адрес электронной почты для создания TLS/SSL сертификата
SSL_EMAIL=user@example.com
Красным выделены участки, в которых вы должны подставить свои значения.
3.2. Создание директории для локальных файлов
mkdir local-files
Docker Compose может создать эту директорию автоматически, но ручное создание гарантирует корректные права и владельца.
3.3. Создание Docker Compose файла
Создайте файл compose.yaml:
touch compose.yaml
Перейдите в файл:
nano compose.yaml
Вставьте следующее содержимое без изменений в файл compose.yaml:
services:
traefik:
image: "traefik"
restart: always
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
- "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
- "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- traefik_data:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=web,websecure
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
- traefik.http.routers.n8n.middlewares=n8n@docker
environment:
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_RUNNERS_ENABLED=true
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- TZ=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
volumes:
n8n_data:
traefik_data:
3.4. Запуск Docker Compose
sudo docker compose up -d
После выполнения этих команд N8N будет полностью готов к работе на вашем домене. Чтобы убедиться, что всё настроено корректно, перейдите по адресу вашего домена — вы увидите страницу регистрации в N8N:

Если у вас возникнут вопросы, вы можете задать их в комментариях или в Telegram‑канале: https://t.me/+a95sYfEo5VwxY2Zi
Если не поняли какие-либо моменты со статьи или же вам удобнее видео формат, то я записал видео инструкцию, которая доступна по ссылке ниже:
YouTube:
Rutube:

