📦 Руководство по миграции

Как перенести n8n на другой VPS без потери данных и ключей шифрования

Перенос сервера автоматизации n8n на новый хостинг - одна из самых ответственных процедур. Главная ошибка при миграции, с которой сталкиваются 80% пользователей - это копирование только базы данных без сохранения переменной N8N_ENCRYPTION_KEY.

⚠️ Внимание: Если вы перенесёте базу данных PostgreSQL или SQLite на новый сервер без оригинального ключа шифрования, все сохранённые пароли, API-ключи Telegram-ботов и OAuth-токены станут нечитаемыми. Сценарии перестанут работать с ошибкой дешифровки.

Как выглядят ошибки миграции в логах (поисковые маркеры)

Если переезд выполнен некорректно, в консоли или логах веб-сервера появляются ошибки:

Error: Could not decrypt credentials. The encryption key has changed!
502 Bad Gateway (nginx/1.24.0)
connect ECONNREFUSED 127.0.0.1:5432

Подводные камни при переносе сервера

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

Чек-лист подготовки к безопасному переезду

Перед остановкой старого сервера убедитесь, что у вас сохранены следующие компоненты:

Шаг 1: Создание резервной копии базы данных PostgreSQL

Если ваш n8n работает в Docker Compose вместе с PostgreSQL, выполните команду для создания полного дампа базы данных на старом сервере:

docker exec -t postgres-db pg_dump -U n8n -d n8n > n8n_migration_backup.sql

Шаг 2: Перенос конфигурации и ключа шифрования

Скопируйте ваш файл docker-compose.yml и секретный ключ на новый сервер. В новом файле конфигурации обязательно укажите тот же ключ:

version: '3.8'
services:
  n8n:
    image: n8nio/n8n:latest
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your_secure_password
      - N8N_ENCRYPTION_KEY=YOUR_ORIGINAL_ENCRYPTION_KEY_HERE
    ports:
      - "5678:5678"

Шаг 3: Восстановление базы данных на новом сервере

Поднимите пустой контейнер PostgreSQL на новом сервере, импортируйте сохранённый SQL-дамп, и только после этого запускайте сам контейнер n8n:

cat n8n_migration_backup.sql | docker exec -i postgres-db psql -U n8n -d n8n

Как избежать простоя при переключении DNS

Чтобы вебхуки от Telegram, CRM и платежных систем не потерялись во время обновления DNS-записей домена, рекомендуется на 24 часа настроить временное проксирование запросов со старого IP-адреса на новый через Nginx.

Нет времени разбираться или боитесь потерять сценарии?

Выполним бесшовный переезд вашего n8n и базы PostgreSQL на любой VPS под ключ. Сохраним всю историю, ключи и настроим автоматическое резервное копирование на новом сервере.

Заказать миграцию под ключ
← Вернуться к списку статей Базы знаний