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

Установка n8n

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

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

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

  1. Зарегистрируйте аккаунт в Timeweb Cloud, если его еще нет.
  2. В панели управления перейдите в раздел «Облачные серверы».
  3. Кликните «Создать» или «Добавить».
  4. На вкладке «Маркетплейс» выберите n8n.

Selection 287

  1. Выберите конфигурацию. Для запуска n8n подойдет минимальная конфигурация сервера. Ее будет достаточно для тестирования. В будущем, если нагрузка на сервис возрастет, вы сможете изменить параметры сервера и увеличить ресурсы сервера.
  2. Настройте остальные параметры (их можно оставить без изменений).
  3. Завершите создание сервера, нажав на кнопку «Заказать».

После запуска сервер будет доступен в панели управления. Перейдите во вкладку «Дашборд», чтобы увидеть технический домен, по которому открывается интерфейс 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 снова будет доступен по прежнему адресу. Затем проверьте, что версия приложения обновилась.

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