Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
61c46507-12c7-4300-a301-bd8bc30c7c19
Инструкции для серверов

Установка n8n

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

Установка через маркетплейс

Самый простой способ развернуть n8n — использовать готовый образ из маркетплейса. Для этого:

На этапе создания сервера перейдите во вкладку «Маркетплейс».

В разделе «Сайт» выберите пункт n8n.

Selection 287

Для запуска n8n подойдет минимальная конфигурация сервера. Ее будет достаточно для тестирования. В будущем, если нагрузка на сервис возрастет, вы сможете изменить параметры сервера и увеличить ресурсы сервера.

Остальные параметры можно оставить без изменений. Завершите создание сервера, нажав на кнопку «Заказать».

После запуска сервер будет доступен в панели управления. Перейдите во вкладку «Дашборд», чтобы увидеть технический домен, по которому открывается интерфейс n8n.

Selection 290

Настройка SSL-сертификата

При первом обращении к n8n через браузер вы можете столкнуться с предупреждением о небезопасном соединении. Это связано с отсутствием SSL-сертификата.

Для выпуска сертификата необходимо указать ваш email в настройках docker-compose.yml. Для этого подключитесь к серверу по SSH.

Перейдите в рабочую директорию n8n:

    
cd /home/n8n

Отредактируйте файл .env:

    
nano .env

Найдите строку с переменной SSL_EMAIL и укажите ваш email:

    
SSL_EMAIL=user@example.com

Email будет использоваться сервисом Let's Encrypt для выпуска сертификата.

Сохраните изменения и перезапустите контейнеры:

    
docker compose down docker compose up -d

Процесс выпуска сертификата может занять несколько минут. После этого доступ к n8n будет выполняться по HTTPS.

Изменение домена

Если вы хотите использовать собственный домен, вы можете изменить настройки в файле .env.

Перед внесением изменений убедитесь, что домен и поддомен указывают на IP-адрес вашего сервера через A-записи в DNS.

Перейдите в директорию n8n:

    
cd /home/n8n

Откройте файл .env:

    
nano .env

Найдите и измените строки:

    
DOMAIN_NAME= SUBDOMAIN=

Например, если вы хотите использовать домен n8n.example.com, значения должны быть следующими:

    
DOMAIN_NAME=example.com SUBDOMAIN=n8n

Если вы хотите использовать домен второго уровня (без поддомена), укажите только DOMAIN_NAME, а все упоминания ${SUBDOMAIN} в файле docker-compose.yml удалите.

Сохраните файл и перезапустите контейнеры:

    
docker compose down docker compose up -d

После этого n8n будет доступен по вашему домену.

Установка вручную с помощью Docker Compose

Вы также можете установить n8n вручную на любой сервер при помощи Docker Compose. 

Перед настройкой установим Docker и Docker Compose. Для этого выполните следующие команды:

    
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh

Создайте отдельную директорию для проекта:

    
mkdir n8n-compose

И перейдите в нее

    
cd n8n-compose

Создайте файл docker-compose.yml со следующим содержимым:

    
services: traefik: image: "traefik" restart: always command: - "--api=true" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true" - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}" - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" volumes: - traefik_data:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock:ro n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - "127.0.0.1:5678:5678" labels: - traefik.enable=true - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`) - traefik.http.routers.n8n.tls=true - traefik.http.routers.n8n.entrypoints=web,websecure - traefik.http.routers.n8n.tls.certresolver=mytlschallenge - traefik.http.middlewares.n8n.headers.SSLRedirect=true - traefik.http.middlewares.n8n.headers.STSSeconds=315360000 - traefik.http.middlewares.n8n.headers.browserXSSFilter=true - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true - traefik.http.middlewares.n8n.headers.forceSTSHeader=true - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME} - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true - traefik.http.middlewares.n8n.headers.STSPreload=true - traefik.http.routers.n8n.middlewares=n8n@docker environment: - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} volumes: - n8n_data:/home/node/.n8n - ./local-files:/files volumes: n8n_data: traefik_data:

Создайте файл .env и добавьте следующее:

    
# The top level domain to serve from DOMAIN_NAME=example.com # The subdomain to serve from SUBDOMAIN=n8n # The timezone to use inside the container GENERIC_TIMEZONE=Europe/Moscow # The email address used for certificate issuance SSL_EMAIL=user@example.com

Измените значения DOMAIN_NAME, SUBDOMAIN и SSL_EMAIL на ваши данные.

После настройки всех файлов, запустите контейнеры:

    
docker compose up -d

Через несколько минут n8n будет доступен по адресу, который вы указали в .env.

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев