vm:n8n:01-install_vps

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
vm:n8n:01-install_vps [2025/08/10 19:09] – ↷ Имя страницы vm:n8n:01_-_install_vps изменено на vm:n8n:01-install_vps adminvm:n8n:01-install_vps [2025/12/09 22:00] (текущий) admin
Строка 1: Строка 1:
-123+====== Установка n8n через Docker ====== 
 + 
 +Инструкция по развертыванию n8n в Docker с папкой данных в /opt/n8n. 
 + 
 +===== Требования ===== 
 + 
 +  * Ubuntu 20.04/22.04/24.04 LTS 
 +  * Минимум 1 ГБ RAM 
 +  * Настроенный reverse proxy (Nginx Proxy Manager или аналог) 
 + 
 +===== Шаг 1: Обновление системы ===== 
 + 
 +<code bash> 
 +sudo apt update && sudo apt upgrade -y 
 +</code> 
 + 
 +===== Шаг 2: Установка Docker ===== 
 + 
 +==== Вариант A: Установка из репозитория Ubuntu ==== 
 + 
 +<code bash> 
 +sudo apt install -y docker.io docker-compose-plugin 
 +sudo systemctl enable --now docker 
 +</code> 
 + 
 +==== Вариант B: Установка из официального репозитория Docker ==== 
 + 
 +<code bash> 
 +sudo apt install -y ca-certificates curl gnupg 
 +sudo install -m 0755 -d /etc/apt/keyrings 
 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 
 +sudo chmod a+r /etc/apt/keyrings/docker.gpg 
 + 
 +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 
 + 
 +sudo apt update 
 +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin 
 +</code> 
 + 
 +==== Добавление пользователя в группу docker ==== 
 + 
 +<code bash> 
 +sudo usermod -aG docker $USER 
 +newgrp docker 
 +</code> 
 + 
 +===== Шаг 3: Создание структуры папок ===== 
 + 
 +<code bash> 
 +sudo mkdir -p /opt/n8n/{n8n_data,n8n_nodes} 
 +sudo chown -R $USER:$USER /opt/n8n 
 +cd /opt/n8n 
 +</code> 
 + 
 +===== Шаг 4: Создание сети Docker ===== 
 + 
 +<code bash> 
 +docker network create webproxy 
 +</code> 
 + 
 +===== Шаг 5: Создание файла переменных окружения ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +nano .env 
 +</code> 
 + 
 +Содержимое файла **.env**: 
 + 
 +<code> 
 +N8N_ENCRYPTION_KEY=сгенерируйте_случайный_ключ 
 +</code> 
 + 
 +Генерация ключа: 
 + 
 +<code bash> 
 +openssl rand -hex 32 
 +</code> 
 + 
 +===== Шаг 6: Создание docker-compose.yml ===== 
 + 
 +<code bash> 
 +nano docker-compose.yml 
 +</code> 
 + 
 +Содержимое файла **docker-compose.yml**: 
 + 
 +<code yaml> 
 +services: 
 +  n8n: 
 +    image: n8nio/n8n:latest 
 +    env_file: 
 +      - .env 
 +    container_name: n8n 
 +    restart: always 
 +    environment: 
 +      - TZ=Europe/Moscow 
 +      - N8N_HOST=n8n.example.com 
 +      - WEBHOOK_URL=https://n8n.example.com 
 +      - N8N_PROXY_HOPS=1 
 +      - N8N_SECURE_COOKIE=false 
 +      - N8N_ALLOW_CODE_ENV_VARS=true 
 +      - N8N_EXPERIMENTAL_CHAT=true 
 +      - N8N_ENABLE_COMMUNITY_NODES=true 
 +      - N8N_ALLOW_SUPERDANGEROUS_EXECUTION=true 
 +      - N8N_ALLOW_DANGEROUS_NODES=true 
 +      - N8N_CUSTOM_EXTENSIONS=/home/node/custom/nodes 
 +      - N8N_SMTP_HOST=mail.example.com 
 +      - N8N_SMTP_PORT=465 
 +      - N8N_SMTP_USER=noreply@example.com 
 +      - N8N_SMTP_PASS=your_smtp_password 
 +      - N8N_SMTP_SENDER=noreply@example.com 
 +      - N8N_SMTP_SECURE=true 
 +    volumes: 
 +      - ./n8n_data:/home/node/.n8n 
 +      - ./n8n_nodes:/home/node/custom/nodes 
 +    networks: 
 +      - webproxy 
 + 
 +networks: 
 +  webproxy: 
 +    external: true 
 +</code> 
 + 
 +===== Шаг 7: Запуск контейнера ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +docker compose up -d 
 +</code> 
 + 
 +===== Шаг 8: Проверка статуса ===== 
 + 
 +<code bash> 
 +docker compose ps 
 +docker compose logs -f n8n 
 +</code> 
 + 
 +====== N8N_ENCRYPTION_KEY ====== 
 + 
 +===== Назначение ===== 
 + 
 +**N8N_ENCRYPTION_KEY** — ключ шифрования для защиты конфиденциальных данных в базе n8n: 
 + 
 +  * Credentials (API ключи, пароли, токены доступа) 
 +  * OAuth токены 
 +  * Другие секретные данные в workflows 
 + 
 +**Важно:** Если ключ потерян или изменён — все сохранённые credentials станут нечитаемыми и их придётся создавать заново. 
 + 
 +===== Поведение n8n ===== 
 + 
 +^ Ситуация ^ Поведение ^ 
 +| Ключ не задан | n8n автоматически сгенерирует случайный ключ и сохранит в файл config | 
 +| Ключ задан в .env | Используется указанный ключ | 
 +| Ключ изменён | Все ранее сохранённые credentials перестанут работать | 
 +| Миграция на другой сервер | Необходимо использовать тот же ключ | 
 + 
 +===== Как посмотреть текущий ключ ===== 
 + 
 +==== Способ 1: Из файла config на хосте ==== 
 + 
 +<code bash> 
 +cat /opt/n8n/n8n_data/config 
 +</code> 
 + 
 +==== Способ 2: Изнутри контейнера ==== 
 + 
 +<code bash> 
 +docker compose exec n8n cat /home/node/.n8n/config 
 +</code> 
 + 
 +==== Способ 3: Через grep ==== 
 + 
 +<code bash> 
 +grep -i encryptionkey /opt/n8n/n8n_data/config 
 +</code> 
 + 
 +===== Рекомендации ===== 
 + 
 +**Новая установка n8n:** 
 +  * Сгенерируйте ключ заранее: ''openssl rand -hex 32'' 
 +  * Добавьте ключ в файл .env 
 +  * Сохраните ключ в надёжном месте (менеджер паролей, vault) 
 + 
 +**Существующая установка n8n:** 
 +  * Не добавляйте новый ключ в .env 
 +  * Используйте ключ, который n8n уже сгенерировал автоматически 
 +  * Если нужно перенести — скопируйте ключ из файла config 
 + 
 +**Миграция на другой сервер:** 
 +  * Скопируйте папку n8n_data целиком 
 +  * Убедитесь, что N8N_ENCRYPTION_KEY совпадает с оригиналом 
 +  * Проверьте работу credentials после миграции 
 + 
 +====== Обновление n8n ====== 
 + 
 +===== Стандартное обновление ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +docker compose pull 
 +docker compose up -d 
 +</code> 
 + 
 +===== Обновление с резервным копированием ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +tar -czvf n8n_backup_$(date +%Y%m%d).tar.gz n8n_data .env docker-compose.yml 
 +docker compose pull 
 +docker compose up -d 
 +</code> 
 + 
 +===== Очистка старых образов ===== 
 + 
 +<code bash> 
 +docker image prune -f 
 +</code> 
 + 
 +===== Проверка версии ===== 
 + 
 +<code bash> 
 +docker inspect n8n --format '{{.Config.Image}}' 
 +docker compose logs --tail 50 n8n 
 +</code> 
 + 
 +====== Полезные команды ====== 
 + 
 +^ Команда ^ Описание ^ 
 +| ''docker compose ps'' | Статус контейнеров | 
 +| ''docker compose logs -f n8n'' | Логи в реальном времени | 
 +| ''docker compose logs %%--%%tail 100 n8n'' | Последние 100 строк логов | 
 +| ''docker compose restart n8n'' | Перезапуск контейнера | 
 +| ''docker compose down'' | Остановка и удаление контейнера | 
 +| ''docker compose up -d'' | Запуск в фоновом режиме | 
 +| ''docker compose exec n8n sh'' | Вход в контейнер | 
 + 
 +====== Резервное копирование ====== 
 + 
 +===== Создание бэкапа ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +tar -czvf n8n_backup_$(date +%Y%m%d_%H%M%S).tar.gz n8n_data .env docker-compose.yml 
 +</code> 
 + 
 +===== Восстановление из бэкапа ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +docker compose down 
 +tar -xzvf n8n_backup_YYYYMMDD_HHMMSS.tar.gz 
 +docker compose up -d 
 +</code> 
 + 
 +====== Устранение неполадок ====== 
 + 
 +===== Проверка логов ===== 
 + 
 +<code bash> 
 +docker compose logs n8n 
 +</code> 
 + 
 +===== Перезапуск сервиса ===== 
 + 
 +<code bash> 
 +cd /opt/n8n 
 +docker compose down 
 +docker compose up -d 
 +</code> 
 + 
 +===== Проверка сети ===== 
 + 
 +<code bash> 
 +docker network inspect webproxy 
 +</code> 
 + 
 +====== Переменные окружения ====== 
 + 
 +^ Переменная ^ Описание ^ 
 +| ''N8N_ENCRYPTION_KEY'' | Ключ шифрования credentials (обязательно сохранить!) | 
 +| ''N8N_HOST'' | Доменное имя n8n | 
 +| ''WEBHOOK_URL'' | URL для вебхуков | 
 +| ''N8N_PROXY_HOPS'' | Количество прокси перед n8n | 
 +| ''N8N_SECURE_COOKIE'' | Использовать secure cookies | 
 +| ''N8N_ALLOW_CODE_ENV_VARS'' | Доступ к ENV из Code node | 
 +| ''N8N_ALLOW_DANGEROUS_NODES'' | Разрешить ExecuteCommand и LocalFileTrigger | 
 +| ''N8N_ENABLE_COMMUNITY_NODES'' | Разрешить community nodes | 
 +| ''N8N_CUSTOM_EXTENSIONS'' | Путь к кастомным нодам | 
 + 
 +====== Ссылки ====== 
 + 
 +  * [[https://docs.n8n.io/|Официальная документация n8n]] 
 +  * [[https://hub.docker.com/r/n8nio/n8n|Docker Hub n8n]] 
 +  * [[https://community.n8n.io/|Форум сообщества n8n]]
  • vm/n8n/01-install_vps.1754852967.txt.gz
  • Последнее изменение: 2025/08/10 19:09
  • admin