Как установить n8n Community Edition на VPS

n8n — это мощный инструмент автоматизации, который позволяет соединять различные сервисы и создавать автоматические рабочие процессы без программирования. Он поддерживает более 300 интеграций и позволяет легко строить сценарии обработки данных, отправки уведомлений, интеграции с API и многое другое.

Если вы хотите получить полную свободу в использовании n8n, лучший выбор — самостоятельная установка на собственный сервер. В этом руководстве мы расскажем, как установить n8n на VPS с помощью Docker.

Что потребуется

Перед началом установки убедитесь, что у вас есть:

  • VPS с предустановленной ОС Linux (например, Ubuntu 22.04)
  • Пользователь с правами sudo
  • Минимум 1 ГБ оперативной памяти (2 ГБ — оптимально)

Docker и Docker Compose мы установим в следующем разделе.

Шаг 1. Установка Docker и Docker Compose

Подключитесь к серверу по SSH и выполните следующие команды:

# 1. Обновите индекс пакетов
sudo apt update

# 2. Установите необходимые зависимости
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 3. Добавьте GPG-ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o
/usr/share/keyrings/docker-archive-keyring.gpg

# 4. Добавьте репозиторий Docker
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

# 5. Снова обновите индекс пакетов
sudo apt update

# 6. Установите Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 7. Установите Docker Compose V2 (как плагин)
sudo apt install -y docker-compose-plugin

Проверьте, что всё установлено корректно:

docker --version
docker compose version

Чтобы запускать команды Docker без sudo, добавьте себя в соответствующую группу:

sudo usermod -aG docker $USER

⚠️ После этого необходимо перезайти в SSH-сессию или перезагрузить сервер, чтобы изменения вступили в силу.

Шаг 2. Запуск n8n — выберите способ

Есть два способа запустить n8n. Выберите один из них — запускать оба не нужно.

Способ А. Ручной запуск через docker run (для быстрого старта и тестов)

Подходит, если вы хотите быстро попробовать 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

⚠️ Флаг --rm означает, что контейнер удалится после остановки. Данные при этом сохранятся в томе n8n_data, но для продакшена лучше использовать Способ Б.

Способ Б. Запуск через Docker Compose (рекомендуется)

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

Создайте файл docker-compose.yml:

nano docker-compose.yml

Вставьте следующее содержимое:

services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Europe/Moscow
- N8N_SECURE_COOKIE=false
volumes:
- n8n_data:/home/node/.n8n

volumes:
n8n_data:

Нажмите Ctrl + O, затем Enter (сохранить) и Ctrl + X (выйти).

Запустите n8n:

docker compose up -d
```

n8n будет доступен по адресу:
```
http://<IP_вашего_VPS>:5678

Остановить n8n:

docker compose down

Шаг 3. [Опционально] Подключение PostgreSQL

По умолчанию n8n хранит данные во встроенной базе данных SQLite. Это удобно для тестов, но не подходит для продакшена: SQLite плохо справляется с высокой нагрузкой и не поддерживает многопоточный доступ.

Для надёжной и масштабируемой работы рекомендуется PostgreSQL.

Запустите 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, добавив переменные окружения. Если вы используете Docker Compose, добавьте их в секцию environment:

environment:
- GENERIC_TIMEZONE=Europe/Moscow
- N8N_SECURE_COOKIE=false
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_HOST=localhost
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=n8n_user
- DB_POSTGRESDB_PASSWORD=supersecret

Если вы используете ручной запуск (docker run), передайте те же переменные через флаги -e:

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

⚠️ Убедитесь, что PostgreSQL доступен из контейнера с n8n. Если база данных на другом сервере, укажите его IP в DB_POSTGRESDB_HOST и настройте фаервол.

Обновление n8n

Актуально только при использовании Docker Compose (Способ Б):

# 1. Загрузить новые образы
docker compose pull

# 2. Остановить текущие контейнеры
docker compose down

# 3. Запустить заново
docker compose up -d

Режим туннеля (для тестов)

Туннельный режим позволяет временно опубликовать ваш сервер в интернете через защищённый туннель — это удобно, если вы хотите протестировать входящие вебхуки (например, от 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 — быстро, гибко и удобно. Вы можете использовать встроенные триггеры, подключать Telegram, Google Sheets, Slack и сотни других сервисов, создавая мощные автоматизации без написания кода.

Серверное решение, подготовленное для n8n

Хотите запустить n8n без лишней головной боли? Мы предлагаем надёжные VPS и выделенные серверы, оптимизированные для работы с n8n, круглосуточную техническую поддержку и прозрачные тарифы.

Оставьте заявку — и начните автоматизировать свои процессы с n8n уже сегодня!

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принимаю», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: