---
title: "Установка и настройка n8n на облачном сервере — Timeweb Cloud"
description: "Как развернуть n8n на сервере Timeweb Cloud: установка через маркетплейс или вручную с Docker Compose, настройка SSL и домена, создание резервных копий и обновление."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

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

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

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

1.  [Зарегистрируйте аккаунт](https://timeweb.cloud/docs?auth=registrationAccount) в Timeweb Cloud, если его еще нет.
2.  В панели управления перейдите в раздел [«Облачные серверы»](https://timeweb.cloud/my/servers).
3.  Кликните «Создать» или «Добавить».
4.  На вкладке «Маркетплейс» выберите n8n.

![Selection 287](https://content.timeweb.com/assets/58efe1cd-5033-4255-9575-50b627d64437.png?width=1012&height=860)

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

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

![Selection 290](https://content.timeweb.com/assets/81201419-174c-447c-a356-f602d9ee6389.png?width=772&height=770)

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

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

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

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

```shell
cd /home/n8n
```

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

```shell
nano .env
```

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

```shell
SSL_EMAIL=user@example.com
```

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

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

```shell
docker compose down
docker compose up -d
```

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

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

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

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

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

```shell
cd /home/n8n
```

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

```shell
nano .env
```

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

```shell
DOMAIN_NAME=

SUBDOMAIN=
```

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

```shell
DOMAIN_NAME=example.com

SUBDOMAIN=n8n
```

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

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

```shell
docker compose down
docker compose up -d
```

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

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

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

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

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

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

```shell
mkdir n8n-compose
```

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

```shell
cd n8n-compose
```

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

```yaml
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` и добавьте следующее:

```shell
# 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` на ваши данные.

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

```shell
docker compose up -d
```

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

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

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

```bash
cd /home/n8n
```

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

```bash
docker compose down
```

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

```bash
mkdir backups
```

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

```bash
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`.

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

```bash
ls ./backups
```

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

```bash
docker compose up -d
```

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

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

```bash
cd /home/n8n
```

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

```bash
docker compose down
```

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

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

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

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

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

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

```bash
docker compose up -d
```

## Обновление

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

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

![Scr 20260423 Kxxb](https://content.timeweb.com/assets/700c1795-c46a-4b58-8f28-d9de43e6f8e3.png?width=2250&height=1288)

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

```bash
docker exec n8n-n8n-1 n8n --version
```

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

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

```bash
docker ps
```

Перед обновлением рекомендуем [создать резервную копию данных](https://timeweb.cloud/docs/unix-guides/installing-n8n#sozdanie-rezervnoj-kopii), чтобы при необходимости можно было выполнить восстановление.

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

```bash
cd /home/n8n
```

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

```bash
docker compose down
```

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

```bash
docker compose pull
```

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

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

```bash
IMAGE2=dockerhub.timeweb.cloud/n8nio/n8n
```

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

```bash
image: docker.n8n.io/n8nio/n8n
```

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

```bash
docker compose up -d
```

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