Разверните OpenClaw в облаке в один клик
Вход/ Регистрация
На главную
Инструкции для серверов

Установка 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.

Создание резервной копии

Для создания копии подключитесь к серверу по SSH. Перейдите в директорию n8n:

    
cd /home/n8n

Остановите контейнеры:

    
docker compose down 

Создайте директорию для хранения резервных копий:

    
mkdir backups

Создайте архив с данными n8n:

    
docker run --rm \ -v n8n_data:/data \ -v "$(pwd)/backups:/backup" \ alpine \ tar czf /backup/n8n_data_$(date +%F_%H-%M-%S).tar.gz -C /data .

После выполнения команды архив будет сохранен в директории /home/n8n/backups.

Проверить, что архив был создан можно командой:

    
ls ./backups

После создания резервной копии запустите контейнеры снова:

    
docker compose up -d

Восстановление из резервной копии

Подключитесь к серверу по SSH и перейдите в директорию n8n:

    
cd /home/n8n

Остановите контейнеры:

    
docker compose down 

Очистите вольюм со старыми данными:

    
docker run --rm -v n8n_data:/data alpine sh -c 'rm -rf /data/* /data/.[!.]* /data/..?* 2>/dev/null || true'

Выполните восстановление из архива:

    
docker run --rm \ -v n8n_data:/data \ -v "$(pwd)/backups:/backup" \ alpine \ sh -c 'tar xzf /backup/ИМЯ_АРХИВА.tar.gz -C /data'

Замените ИМЯ_АРХИВА.tar.gz на имя нужного файла резервной копии.

После завершения восстановления запустите контейнеры:

    
docker compose up -d

Обновление

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

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

Scr 20260423 Kxxb

Также проверить версию можно при помощи команды:

    
docker exec n8n-n8n-1 n8n --version

Где n8n-n8n-1 — имя контейнера n8n.

Получить имя контейнера можно командой:

    
docker ps

Перед обновлением рекомендуем создать резервную копию данных, чтобы при необходимости можно было выполнить восстановление.

Подключитесь к серверу по SSH и перейдите в директорию n8n:

    
cd /home/n8n

Остановите контейнеры:

    
docker compose down 

Скачайте новый образ:

    
docker compose pull

Обратите внимание, если вы редактировали .env или docker-compose.yml, могла быть указана фиксированная версия образа. Проверьте используемые значения.

Для установки через маркетплейс строка в .env должна выглядеть так:

    
IMAGE2=dockerhub.timeweb.cloud/n8nio/n8n

При ручной установке в docker-compose.yml строка должна быть следующей:

    
image: docker.n8n.io/n8nio/n8n

После загрузки нового образа запустите n8n:

    
docker compose up -d

Немного подождите, после чего n8n снова будет доступен по прежнему адресу. Затем проверьте, что версия приложения обновилась.

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