n8n — это мощный инструмент автоматизации, который позволяет соединять различные сервисы и создавать автоматические рабочие процессы без программирования. Он поддерживает более 300 интеграций и позволяет легко строить сценарии обработки данных, отправки уведомлений, интеграции с API и многое другое.
Если вы хотите получить полную свободу в использовании n8n, лучший выбор — это самостоятельная установка на собственный сервер. В этом руководстве мы подробно расскажем, как установить n8n на VPS при помощи Docker — самого удобного способа развёртывания n8n.
Что потребуется
Перед началом установки убедитесь, что у вас есть:
- VPS с предустановленной ОС Linux (например Ubuntu 22.04)
- Пользователь с правами
sudo
- Установленные Docker и Docker Compose
- Минимум 1 ГБ оперативной памяти (2 ГБ — оптимально)
Установка Docker и Docker Compose
Подключитесь к серверу по SSH и выполните следующие команды:
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-compose
Проверьте, что Docker и Docker Compose установлены:
docker --version docker-compose --version
Чтобы запускать команды Docker без sudo
, добавьте себя в соответствующую группу:
sudo usermod -aG docker $USER
⚠️ После этого необходимо перезайти в SSH-сессию или перезагрузиться, чтобы изменения вступили в силу.
Создание тома (volume) и запуск n8n вручную
Создаём том для хранения данных n8n:
docker volume create n8n_data
Запускаем n8n:
docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n
Теперь n8n будет доступен по адресу:
http://<IP_вашего_VPS>:5678
[Опционально] Подключение PostgreSQL
По умолчанию n8n хранит данные во встроенной базе данных SQLite. Это удобно для тестов, но неподходит для продакшена, потому что SQLite может не справляться с высокой нагрузкой и не поддерживает работу в несколько потоков.
Поэтому для надёжной и масштабируемой работы n8n рекомендуется использовать PostgreSQL — полноценную реляционную базу данных.
Как подключить PostgreSQL
-
Сначала нужно установить и запустить PostgreSQL на вашем сервере или использовать внешний сервис с базой данных (например, ElephantSQL, Render, свой сервер и т.п.).
Вы можете установить PostgreSQL локально через Docker, например:
docker run --name postgres \ -e POSTGRES_USER=n8n_user \ -e POSTGRES_PASSWORD=supersecret \ -e POSTGRES_DB=n8n \ -p 5432:5432 \ -d postgres
В этом примере:
n8n_user
— имя пользователя базы данных (вы можете придумать своё)supersecret
— пароль пользователя (обязательно придумайте сложный)n8n
— название базы данных
-
После запуска PostgreSQL, вы можете настроить n8n на её использование вместо SQLite, указав параметры подключения при запуске n8n:
docker run -it --rm \ --name n8n \ -p 5678:5678 \ -e DB_TYPE=postgresdb \ -e DB_POSTGRESDB_DATABASE=n8n \ -e DB_POSTGRESDB_HOST=localhost \ -e DB_POSTGRESDB_PORT=5432 \ -e DB_POSTGRESDB_USER=n8n_user \ -e DB_POSTGRESDB_PASSWORD=supersecret \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n
Объяснение переменных:
DB_TYPE=postgresdb
— включаем поддержку PostgreSQLDB_POSTGRESDB_DATABASE=n8n
— имя базы данныхDB_POSTGRESDB_HOST=localhost
— адрес сервера с базой данных (если база на другом сервере — укажите его IP)DB_POSTGRESDB_PORT=5432
— стандартный порт PostgreSQLDB_POSTGRESDB_USER=n8n_user
— имя пользователя базыDB_POSTGRESDB_PASSWORD=supersecret
— пароль этого пользователя
Важно
- Вы сами придумываете имя базы данных, имя пользователя и пароль при создании PostgreSQL.
- Убедитесь, что сервер базы данных доступен из контейнера с n8n.
- Если вы используете внешний PostgreSQL (не в Docker), настройте фаервол, чтобы допускать соединения с нужного IP.
Установка через Docker Compose (рекомендуется)
Этот способ удобнее и проще для управления n8n. Но сначала давайте разберёмся:
Ниже текст, который нужно вставить в файл. Вам нужно создать текстовый файл с именем docker-compose.yml
и вставить туда предложенное содержимое.
Создаём файл, для этого в терминале вводим:
nano docker-compose.yml
Откроется текстовый редактор nano
. Вставьте туда следующий текст:
version: '3'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Europe/Moscow
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Затем нажмите Ctrl + O
, потом Enter
(чтобы сохранить), и Ctrl + X
(чтобы
выйти).
Запуск и остановка
Запустить n8n:
docker compose up -d
Остановить:
docker compose down
Обновление n8n
Чтобы обновить n8n до последней версии:
docker compose pull docker compose down docker compose up -d
Режим туннеля (для тестов)
Что такое режим туннеля?
Это специальный режим, в котором n8n временно публикует ваш локальный сервер в интернет через защищённый туннель. Это нужно, если вы, например, хотите протестировать входящие Webhook-и от Telegram, Stripe, или других сервисов, но у вас нет домена и HTTPS.
Пример: вы создаёте автоматизацию, которая реагирует на входящее сообщение из Telegram. Но Telegram не сможет "достучаться" до вашего сервера, если у вас нет публичного адреса. В таком случае, запускаем n8n в режиме туннеля, получаем временный HTTPS-адрес, указываем его в Telegram — и всё работает.
Запуск туннеля:
docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n \ start --tunnel
⚠️ Не рекомендуется использовать туннель в продакшене — он только для тестирования и отладки.
Заключение
Теперь вы умеете устанавливать и запускать n8n на VPS с помощью Docker — быстро, просто и удобно. Вы можете использовать встроенные триггеры, подключать API, Telegram, Google Sheets, Slack и многое другое, создавая мощные автоматизации без кода.
Серверное решение, подготовленное для n8n
Хотите запустить n8n без лишней головной боли? У нас есть всё необходимое!
Мы предлагаем:
- Надёжные VPS и выделенные серверы, оптимизированные для работы с n8n
- Круглосуточную техническую поддержку
- Прозрачные тарифы и гибкие условия
Оставьте заявку — и начните автоматизировать свои процессы с n8n уже сегодня!