> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ipmideck.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Обновление через веб-интерфейс

> Установите новый выпуск ipmideck из браузера и настройте установки Docker на обновление через Watchtower.

Когда публикуется более новая версия, ipmideck один раз показывает уведомление, а рядом с версией на боковой панели остаётся кнопка обновления, пока вы её не установите: стрелка вверх или щит для выпуска с исправлениями безопасности. Обе открывают примечания к новой версии и, если ipmideck может установить её сам, кнопку **Скачать и установить**.

## Что делает кнопка

Перед любыми изменениями ipmideck создаёт резервную копию базы данных, ключа шифрования и `config.yaml` в `backups/` в [каталоге данных](/ru/configuration#где-находится-конфигурация).

| Способ установки | Результат |
| - | - |
| pip в виртуальном окружении, pipx, uv | Устанавливает новую версию и перезапускает ipmideck. Страница перезагрузится сама, когда новая версия заработает. |
| pip, pipx или uv в Windows | ipmideck останавливается, чтобы обновление можно было установить, после чего вы запускаете его снова. Ход установки записывается в `update.log` в каталоге данных. |
| Docker с Watchtower | Watchtower загружает новый образ и заменяет контейнер. Страница перезагрузится сама. |
| Docker без Watchtower | В окне показана команда, которую нужно выполнить на хосте Docker. |
| git-checkout, системный Python, редактируемая установка | В окне объясняется причина и показана команда для выполнения; Python, управляемый системой, обновляется тем же способом, каким был установлен. |

## Требования

* Вход должен быть включён: кнопка заменяет работающую программу.
* В демо-режиме кнопка недоступна.
* Чтобы перезапуститься самостоятельно, ipmideck должен быть запущен командой `ipmideck`. Если он запущен иначе, он устанавливает обновление и просит вас перезапустить его; в Windows вместо этого показывается команда.

## Docker с Watchtower

Контейнер не может заменить собственный образ, а доступ ipmideck к сокету Docker дал бы ему контроль над хостом. Замену выполняет отдельный контейнер [Watchtower](https://github.com/nicholas-fedor/watchtower) по запросу ipmideck.

<Steps>
  <Step title="Пометьте контейнер ipmideck">
    Запустите ipmideck с меткой, которая разрешает Watchtower управлять им:

    ```bash theme={null}
    docker run -d --name ipmideck --network host \
      --label com.centurylinklabs.watchtower.enable=true \
      -v ipmideck-data:/data devluigi06/ipmideck:latest
    ```
  </Step>

  <Step title="Запустите Watchtower">
    Запустите Watchtower с включённым HTTP API, доступным только с хоста:

    ```bash theme={null}
    docker run -d --name watchtower \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -p 127.0.0.1:8080:8080 \
      -e WATCHTOWER_HTTP_API_UPDATE=true \
      -e WATCHTOWER_HTTP_API_TOKEN=replace-with-a-long-random-token \
      -e WATCHTOWER_LABEL_ENABLE=true \
      nickfedor/watchtower
    ```
  </Step>

  <Step title="Подключите ipmideck">
    Добавьте адрес Watchtower и токен в уже существующий раздел `updates:` файла `config.yaml` и перезапустите ipmideck:

    ```yaml config.yaml theme={null}
    updates:
      watchtower_url: http://127.0.0.1:8080
      watchtower_token: replace-with-a-long-random-token
    ```

    Те же настройки доступны как `IPMIDECK_UPDATES_WATCHTOWER_URL` и `IPMIDECK_UPDATES_WATCHTOWER_TOKEN`. В Docker Compose, где оба контейнера находятся в одной сети, используйте адрес `http://watchtower:8080`.
  </Step>
</Steps>

<Warning>
  Watchtower управляет Docker через его сокет. Используйте длинный случайный токен и оставьте порт привязанным к `127.0.0.1`, как в примере.
</Warning>

<Note>
  Watchtower загружает тот тег, который уже использует контейнер. С `latest` он переходит на последний выпуск; контейнер, закреплённый за тегом версии (например `2.0.0`), остаётся на нём.
</Note>

## Если установка не удалась

В окне показаны причина и вывод установщика, а также команда для ручной установки обновления. Ничего не удаляется: резервная копия, сделанная перед установкой, находится в `backups/`, а в разделе [Резервное копирование и восстановление](/ru/backup-restore) описано, как её восстановить.

## Следующие шаги

* [Обновление ipmideck](/ru/updating): обновление из командной строки.
* [Резервное копирование и восстановление](/ru/backup-restore): сделайте копию данных перед обновлением.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.