Регистрация

N8N 2023 | Установка и настройка

Виртуальный сервер

Аренда виртуального сервера: Beget

Технические характеристики: 2 Core CPU, 2 Gb RAM, 10 Gb NVME
Операционная система: Ubuntu 22.04

Подключение к серверу

Терминал для работы Termius: Ссылка на магазин Microsoft

Логин: root
Пароль: пароль был создан во время аренды виртуального сервера, можно скопировать его с админ панели.

Docker

  1. Обновить пакеты
ShellScript
sudo apt update
  1. Апгрейд пакетов
ShellScript
sudo apt upgrade
  1. Обновить пакеты
ShellScript
sudo apt update
  1. Дополнительные пакеты
ShellScript
sudo apt install curl software-properties-common ca-certificates apt-transport-https -y
  1. Импортируем ключ доступа
ShellScript
curl -f -s -S -L https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. Добавляем репозиторий
ShellScript
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"
  1. Обновить пакеты
ShellScript
sudo apt update
  1. Проверка репозитория (должны увидеть ответ, как из видео. Если ответ не похож, проходим все шаги с начала до этого шага)
ShellScript
apt-cache policy docker-ce
  1. Установка Docker
ShellScript
sudo apt install docker-ce -y
  1. Установка docker-compose
ShellScript
apt install docker-compose
  1. Проверка установки Docker
ShellScript
docker version
  1. Проверка установки Docker compose
ShellScript
docker compose version
  1. Проверка установки docker-compose
ShellScript
docker-compose version

Portainer

  1. Создаем директорию на сервере
ShellScript
docker volume create portainer_data
  1. Установка Portainer с необходимыми параметрами
ShellScript
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
  1. Проверка запущенных контейнеров
ShellScript
docker ps

N8N

После релиза N8N версии 1.0.0 и выше некоторые дополнительные параметры для оптимизации больше не нужны. Вид кода ниже немного отличается от видео, но не критично для понимания настройки и установки.

Docker compose конфигурация для установки

YAML
version: "3.8"

volumes:
  n8n_app_data:
  n8n_db_data:

services:
  postgres:
    image: postgres
    restart: always
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
      - POSTGRES_NON_ROOT_USER
      - POSTGRES_NON_ROOT_PASSWORD
      - EXECUTIONS_DATA_PRUNE=true
    volumes:
      - n8n_db_data:/var/lib/postgresql/data
      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    links:
      - postgres
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
      - NODE_ENV=production
      - WEBHOOK_URL=${DOMAIN}
      - GENERIC_TIMEZONE=${TIMEZONE}
      - EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
      - EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false
      - EXECUTIONS_DATA_PRUNE=true
    depends_on:
      postgres:
        condition: service_healthy
    volumes:
      - n8n_app_data:/home/node/.n8n
      - /n8n-local-files:/files

ENV – переменные для установки

Логины и пароли для USER и NON ROOT USER должны быть одинаковыми

ShellScript
DOMAIN= 'адрес вашего сервера или домен, полностью с http или https'
TIMEZONE=Asia/Yekaterinburg
POSTGRES_USER=superadmin
POSTGRES_PASSWORD=Superpassword1!
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=superadmin
POSTGRES_NON_ROOT_PASSWORD=Superpassword1!

NGINX Proxy manager

Docker compose конфигурация для установки

YAML
version: '3.8'
services:
  nginx:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx_proxy_manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - nginx_proxy_manager_default
networks:
  nginx_proxy_manager_default:
    external: true

Стандартные логин и пароль

ShellScript
Email: admin@example.com
Password: changeme

Разделы

Никита Рянский, Автор блога

Никита Рянский

Фрилансер
Разработчик
Автор блога
Подписывайтесь
и пишите для заказа разработки, настройки и консультации

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *