> For the complete documentation index, see [llms.txt](https://docs.mikopbx.com/mikopbx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mikopbx.com/mikopbx/manual/maintenance/update/lxc.md).

# Обновление LXC-контейнера

Обновление MikoPBX в LXC-контейнере Proxmox VE без копирования записей разговоров

Эта инструкция предназначена для MikoPBX, установленной в LXC-контейнере Proxmox VE. Все действия выполняются через web-интерфейс Proxmox и MikoPBX.

{% hint style="warning" %}
Рекомендуется производить обновления последовательно, «не перепрыгивая» через релизы и версии. Если в описании релиза указана промежуточная версия, сначала обновитесь до неё.
{% endhint %}

## Как выполняется обновление

В LXC системные файлы MikoPBX и пользовательские данные находятся на разных томах:

| Том            | Содержимое                                                           | Действие при обновлении   |
| -------------- | -------------------------------------------------------------------- | ------------------------- |
| **Root Disk**  | Системные файлы текущей версии MikoPBX                               | Остаётся у старого CT     |
| **`/storage`** | Записи разговоров, история вызовов, модули, звуковые файлы и журналы | Переназначается новому CT |
| **`/cf`**      | Настройки MikoPBX и основная база данных                             | Переназначается новому CT |

Для обновления создаётся новый контейнер из актуального шаблона `lxc.tar.gz`. Старые тома `/storage` и `/cf` не копируются: Proxmox переназначает их новому контейнеру с помощью функции **Reassign Owner**.

В результате новая версия MikoPBX получает новую корневую файловую систему, но продолжает работать с прежними настройками, историей и записями разговоров.

{% hint style="danger" %}
Не обновляйте LXC-контейнер файлом `.img` в разделе **Обслуживание → Обновление PBX** и не подключайте ISO-образ. Эти способы рассчитаны на полноценный системный диск виртуальной или физической машины. Для LXC используйте новый шаблон `lxc.tar.gz`.
{% endhint %}

{% hint style="info" %}
Метод подходит, если `/cf` и `/storage` созданы в Proxmox как отдельные управляемые **Mount Point** и оба контейнера находятся на одном узле Proxmox. Для bind mount, физического диска, сетевой папки или переноса на другой узел функция **Reassign Owner** может быть недоступна. В таком случае используйте резервное копирование и восстановление данных.
{% endhint %}

## Перед началом

Запланируйте техническое окно. После остановки старого CT телефония не будет работать до запуска нового контейнера.

Убедитесь, что у вас есть:

* доступ администратора к Proxmox VE;
* доступ администратора к MikoPBX;
* резервная копия, сохранённая вне обновляемого контейнера.

{% hint style="danger" %}
**Reassign Owner не создаёт резервную копию.** Операция только меняет владельца существующего тома. Ошибка администратора, повреждение хранилища или несовместимое изменение базы данных могут потребовать восстановления из резервной копии.
{% endhint %}

## Шаг 1. Запишите параметры старого контейнера

Откройте старый CT в Proxmox и сохраните его параметры.

1. **Resources** - CPU, RAM, Swap, Root Disk (размер).
2. **Network** - bridge, IPv4/IPv6, VLAN, MAC-адрес и состояние Proxmox Firewall.
3. **DNS** - DNS-серверы.
4. **Options** — тип контейнера (привилигированный или нет)

В разделе **Resources** найдите строки, в которых указаны:

* `mp=/storage` — том с записями и пользовательскими данными;
* `mp=/cf` — том с конфигурацией.

Запишите их идентификаторы. Обычно это `mp0` и `mp1`, но порядок может отличаться.

## Шаг 2. Создайте резервные копии

### Резервная копия MikoPBX

1. Откройте **Модули → Маркетплейс модулей**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FYNsPFrcW8A5FQHEbExIP%2FModulesMarketplaceSection2026.png?alt=media&amp;token=338a6f48-1a33-46f3-80dc-ca4666a152ec" alt=""><figcaption><p>Раздел "Маркетплейс модулей" в MikoPBX</p></figcaption></figure>

2. Убедитесь, что [**Модуль резервного копирования** ](/mikopbx/modules/miko/module-backup.md)установлен и включён.
3. Откройте модуль и нажмите **Создать архивную копию**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FMv16oZTLn0t35nxcOZ1a%2FcreateBackupCopy.png?alt=media&amp;token=60169ef7-65da-450e-8511-9eb3efc2e53d" alt=""><figcaption><p>Создание резервной копии</p></figcaption></figure>

4. Создайте архив и скачайте его на компьютер администратора или во внешнее хранилище.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FqthGVIyRRoW2eDxuHSut%2FdownloadBackupCopy.png?alt=media&amp;token=71b75d35-6aa0-4ded-91e2-993b291f0103" alt=""><figcaption><p>Загрузка резервной копии на компьютер</p></figcaption></figure>

### Резервная копия Proxmox

1. В Proxmox откройте настройки старого контейнера (CT) → **Backup**. Нажмите **Backup now**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2Fc8KL0CBWbISFA7E36III%2FProxmoxCreatingCTBackup.png?alt=media&amp;token=31141f58-d0b5-4af2-aa7e-a5c0a94c4953" alt=""><figcaption><p>Создание резервной копии контейнера</p></figcaption></figure>

2. Выберите внешнее или отдельное хранилище резервных копий. Запустите backup и дождитесь сообщения **TASK OK**.

{% hint style="info" %}
Перед запуском проверьте параметр **Backup** у mount points `/cf` и `/storage`. Если он включён, Proxmox добавит эти тома в архив, поэтому резервное копирование большого диска `/storage` может занять продолжительное время.\
Само обновление не создаёт вторую копию записей разговоров и выполняется быстро. Полный backup `/storage` - отдельная защитная мера. Если записи уже регулярно сохраняются в Proxmox Backup Server, S3 или другом внешнем хранилище, можно использовать существующую проверенную резервную копию.
{% endhint %}

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FXbcPGHH6TEFBuBUN1EOu%2FProxmoxCreatingCTBackup-TaskOk.png?alt=media&amp;token=1d520471-da01-48b1-a30e-4605a5ac5e9b" alt=""><figcaption><p>Успешное создание резервной копии</p></figcaption></figure>

## Шаг 3. Загрузите новый LXC-шаблон

1. Откройте страницу [релизов MikoPBX](https://github.com/mikopbx/Core/releases).
2. Найдите требуемую версию и скопируйте ссылку на файл, имя которого заканчивается на `lxc.tar.gz`.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FMcYssg8DOBaAI2Wz6xkP%2Flxc.tar.gzOnGithub.png?alt=media&amp;token=865e3ea2-d3f6-4b01-b7c9-6cf7f042d38b" alt=""><figcaption><p>Копирование ссылки на шаблон контейнера</p></figcaption></figure>

3. В Proxmox выберите хранилище **local** → **CT Templates**. Нажмите **Download from URL**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FvUMk9T0o7v6a9SuDXGNW%2FProxmoxCTDownoadfromURL.png?alt=media&amp;token=34874785-5f7f-43c8-82a1-554e7bf97cfb" alt=""><figcaption><p>Опция загрузки шаблона CT контейнера по ссылке</p></figcaption></figure>

4. Вставьте ссылку в поле **URL** и нажмите **Query URL**. Проверьте имя файла и нажмите **Download**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FkfacsEClSf1fvv2m2v6c%2FProxmoxCTDownoadfromURL-Options.png?alt=media&amp;token=2986ba0c-4a12-4787-876c-9b02da454c6d" alt=""><figcaption><p>Загрузка шаблона в Proxmox</p></figcaption></figure>

5. Дождитесь сообщения **TASK OK**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FFhKd0xahJAFb1KyJjTiJ%2FProxmoxCTDownoadfromURL-TaskOK.png?alt=media&amp;token=d183e71f-e8f6-4ba7-bbb0-9102e12983f9" alt=""><figcaption><p>Успешная загрузка шаблона в Proxmox</p></figcaption></figure>

## Шаг 4. Создайте новый контейнер

Нажмите **Create CT** в правом верхнем углу Proxmox.

### General

Выберите тот же узел Proxmox, на котором расположен старый CT:

* Укажите новый **CT ID**. Не используйте ID старого контейнера.
* Задайте отличающееся имя, например `mikopbx-update-test`.
* Установите такое же значение **Unprivileged container**, как у старого CT.

Нажмите **Next**.

{% hint style="info" %}
После подключения старого `/cf` для входа в MikoPBX будут использоваться прежние учётные данные администратора.
{% endhint %}

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FBn196gZ4ieWmXvAMvxBU%2FProxmoxNewCTParams.png?alt=media&amp;token=80fc03e0-3432-4c00-8245-21f3b3d0586e" alt=""><figcaption><p>Параметры нового контейнера</p></figcaption></figure>

### Template

Выберите загруженный шаблон новой версии `lxc.tar.gz` и нажмите **Next**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FTZ1ec0MzQAFsEfexaB6b%2FProxmoxNewCTTemplate.png?alt=media&amp;token=25f7f3e1-8d6b-48b5-a15d-9b0ff870979e" alt=""><figcaption><p>Выбор ранее загруженного шаблона для нового контейнера</p></figcaption></figure>

### Disks

Создайте новый **Root Disk (rootfs)**. Выберите подходящее хранилище. Укажите размер системного диска - **1 ГБ**.

{% hint style="info" %}
Не добавляйте новые диски `/storage` и `/cf`: вместо них будут подключены существующие тома старого CT.
{% endhint %}

Нажмите **Next**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FGIZORTfU35kGNQULERnA%2FProxmoxNewCTDisks.png?alt=media&amp;token=0beb5ce0-7e09-4b6d-8c50-14d8f89f168d" alt=""><figcaption><p>Создание Root диска</p></figcaption></figure>

### CPU и Memory

Укажите такое же количество ядер, Memory и Swap памяти, как у старого контейнера.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FhZ3LOklgsK4wwE66Cgga%2FProxmoxNewCTMemory.png?alt=media&amp;token=926c241b-cb70-4400-91dc-bd0baf0d9b85" alt=""><figcaption><p>Указание параметров контейнера</p></figcaption></figure>

### Network

Повторите сетевые настройки старого CT. На время проверки рекомендуется использовать свободный временный IP-адрес и новый MAC-адрес, чтобы исключить конфликт со старым контейнером.

Если используется DHCP, новый CT может получить другой адрес автоматически. Если адрес закреплён на DHCP-сервере по MAC, заранее создайте отдельную привязку для нового MAC-адреса.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F2X65yMqDDoKHZKT5eZiC%2FProxmoxNewCTNetwork.png?alt=media&amp;token=2ca61004-2991-4427-b190-39cedd49c7ee" alt=""><figcaption><p>Параметры сети для нового контейнера</p></figcaption></figure>

### DNS и Confirm

Повторите DNS-настройки старого CT:

* На странице **Confirm** внимательно проверьте параметры.

Снимите флажок **Start after created**. Новый контейнер нельзя запускать до подключения `/cf` и `/storage`. Нажмите **Finish** и дождитесь сообщения **TASK OK**.

Откройте новый CT → **Resources**. На этом этапе в списке должен находиться новый **Root Disk**, но не должно быть mount points `/cf` и `/storage`.

{% hint style="info" %}
Подробное описание мастера создания CT приведено в статье [Установка MikoPBX в Proxmox LXC](/mikopbx/setup/hypervisor/proxmox/lxc.md). При обновлении пропустите шаги добавления новых дисков `/storage` и `/cf`.
{% endhint %}

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FkMANCKihByXNWgnghmdM%2FProxmoxNewCTExampleOfResources.png?alt=media&amp;token=c0a193fd-ce66-4efc-a7df-362580f31086" alt=""><figcaption><p>Пример содержания вкладки "Resources" при правильном создании нового контейнера</p></figcaption></figure>

## Шаг 5. Переназначьте диск `/storage`

1. Откройте старый CT → **Resources**. Выберите строку **Mount Point**, в параметрах которой указано `mp=/storage`. Нажмите **Volume Action** → **Reassign Owner**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2Fl5gsjwDbvFaK3SxbsZxX%2FLXCRemountingStorage.png?alt=media&amp;token=441135e6-e881-4e14-95f7-d153dad096d3" alt=""><figcaption><p>Перемонтирование <em>/storage</em></p></figcaption></figure>

2. В поле **Target** выберите новый CT. В поле **Add as** оставьте **Mount Point**. Proxmox предложит свободный номер точки монтирования, например `mp0`. Убедитесь, что выбранный номер не занят.

Нажмите **Reassign Volume**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FeC468z50y7Pq1tgMPZX8%2FLXCRemountingStorageP2.png?alt=media&amp;token=895cca07-1140-401e-b121-6909c5949de0" alt=""><figcaption><p>Перемонтирование <em>/storage</em></p></figcaption></figure>

После операции том исчезнет из раздела **Resources** старого CT и появится у нового. Proxmox изменит владельца тома и при необходимости переименует его под новый CT ID. Содержимое диска при этом не копируется и не форматируется.

## Шаг 6. Переназначьте диск `/cf`

Повторите те же действия для Mount Point с параметром `mp=/cf`:

1. Откройте старый CT → **Resources**. Выберите строку **Mount Point**, в параметрах которой указано `mp=/cf`. Нажмите **Volume Action** → **Reassign Owner**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FaJyhPd50amKRlbcyJQrs%2FLXCRemountingCF.png?alt=media&amp;token=5b50ffb3-3f7e-4c80-b5ac-7b9aabf2bf0c" alt=""><figcaption><p>Перемонтирование <em>/cf</em></p></figcaption></figure>

2. Выберите новый CT. Оставьте **Add as → Mount Point**. Выберите следующий свободный номер, например `mp1`. Нажмите **Reassign Volume.**

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FEgVsUR45ESbL440RLttq%2FLXCRemountingCFp2.png?alt=media&amp;token=676bc7c3-315f-49fc-b7b2-470c7e2a73c2" alt=""><figcaption><p>Перемонтирование <em>/cf</em></p></figcaption></figure>

3. Откройте новый CT → **Resources** и проверьте итоговую конфигурацию:

* **Root Disk** принадлежит новому CT;
* один Mount Point содержит `mp=/storage`;
* второй Mount Point содержит `mp=/cf`;
* размеры `/storage` и `/cf` совпадают с размерами старых томов.

Номера `mp0` и `mp1` могут располагаться в другом порядке. Важны пути `mp=/storage` и `mp=/cf`.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FTw1IVJzmYXuPV08EGrKe%2FLXCResources.png?alt=media&amp;token=c95db6d3-0ce3-4193-bc56-f18e08267cba" alt=""><figcaption><p>Пример вкладки Resources у нового контейнера</p></figcaption></figure>

## Шаг 7. Выполните первый запуск

1. Выберите новый CT и нажмите **Start**. Откройте вкладку **Console**.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FQ0u9JFzRvdYjewN4BwR6%2FLXCConsoleStart.png?alt=media&amp;token=52c6cdb5-43a9-43ab-a6e7-f6be1c874b10" alt=""><figcaption><p>Переход во вкладку консоли и запуск контейнера</p></figcaption></figure>

2. Дождитесь полной загрузки MikoPBX и появления адреса web-интерфейса.

{% hint style="info" %}
Первый запуск может занять несколько минут. Новая версия проверит существующую конфигурацию, выполнит необходимые миграции базы данных и запустит службы телефонии. Не перезапускайте CT и не отключайте питание во время этого процесса.

Если web-интерфейс не открылся, сначала проверьте в **Resources**, что оба тома подключены с правильными путями. <mark style="color:$danger;">Не запускайте старый CT, пока тома принадлежат новому.</mark>
{% endhint %}

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FvqxEPpQO3gvaMDOlgyML%2FPromoxMikoStatusScreen.png?alt=media&amp;token=ab5e6f3f-f5b8-4916-b062-1c5c8ea13391" alt=""><figcaption><p>Консоль нового контейнера. Статус screen MikoPBX.</p></figcaption></figure>

3. Откройте этот адрес в браузере и войдите с прежними логином и паролем MikoPBX.

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FX70aOp9CI0GYe6A1f69h%2FRUWebMikoPBXLXC.png?alt=media&amp;token=f732bfc5-e69d-4e74-b9fc-b0151076bf9e" alt=""><figcaption><p>Веб-интерфейс обновленной MikoPBX</p></figcaption></figure>

## Шаг 8. Переключите рабочий IP-адрес

Если новый CT сразу получил прежний рабочий IP-адрес, пропустите этот шаг.

Если для проверки использовался временный адрес:

1. Остановите новый CT.
2. Ещё раз убедитесь, что старый CT остановлен.
3. Откройте новый CT → **Network** и выберите интерфейс `net0`.
4. Укажите прежний IPv4/IPv6-адрес MikoPBX.
5. Если адрес закреплён на DHCP-сервере, перенесите привязку на новый MAC или назначьте новому CT прежний MAC-адрес.
6. Проверьте bridge, VLAN, gateway и настройки Proxmox Firewall.
7. При необходимости переключите внешний NAT, DNS и правила межсетевого экрана на новый адрес.
8. Запустите новый CT.

Одинаковый IP- или MAC-адрес разрешается использовать только при полностью остановленном старом контейнере.

## Проверка после обновления

Не удаляйте старый CT, пока не выполнены все проверки.

1. В web-интерфейсе убедитесь, что отображается новая версия MikoPBX.
2. Проверьте сотрудников, SIP-аккаунты, провайдеров, входящие и исходящие маршруты.
3. Откройте **Телефония → История вызовов** и убедитесь, что старая история доступна.
4. Прослушайте несколько старых записей разговоров за разные даты.
5. Проверьте установленные модули, их лицензии и настройки.
6. Убедитесь, что телефоны и провайдеры зарегистрированы либо имеют ожидаемый статус.
7. Выполните внутренний, исходящий и входящий тестовые звонки.
8. Проверьте, что новый разговор появился в истории и его запись воспроизводится.
9. Перезагрузите новый CT через Proxmox.
10. После перезагрузки повторно проверьте web-интерфейс, сеть, регистрации и тестовый звонок.

## Откат на старый контейнер

Если новая версия работает некорректно:

1. Остановите новый CT.
2. В его разделе **Resources** выберите Mount Point `/storage`.
3. Выполните **Volume Action → Reassign Owner** и верните том старому CT.
4. Таким же способом верните старому CT том `/cf`.
5. Проверьте, что у старого CT снова присутствуют `mp=/storage` и `mp=/cf`.
6. Верните старые IP-, MAC-, DNS- и NAT-настройки.
7. Запустите старый CT и проверьте его работу.

{% hint style="danger" %}
Новая версия могла изменить структуру базы данных на `/cf`. Поэтому возврат томов не гарантирует совместимость со старой версией MikoPBX. Если старый CT не запускается корректно, восстановите его из Proxmox backup или восстановите настройки из архива MikoPBX, созданного до обновления.
{% endhint %}

## Завершение обновления

Сохраняйте старый остановленный CT и резервные копии несколько дней. Удалять старый контейнер рекомендуется только после того, как:

* новая версия стабильно работает;
* входящие и исходящие вызовы проверены;
* новые записи разговоров создаются и воспроизводятся;
* MikoPBX успешно пережила перезагрузку;
* создана свежая резервная копия уже обновлённой станции.

Перед удалением старого CT ещё раз откройте его **Resources** и убедитесь, что тома `/cf` и `/storage` действительно переназначены новому контейнеру. После этого старый Root Disk можно удалить вместе со старым CT.

{% hint style="success" %}
При таком способе обновления многолетняя история записей остаётся на исходном диске `/storage`. Время переключения не зависит от объёма записей, поскольку Proxmox меняет владельца тома вместо копирования его содержимого.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.mikopbx.com/mikopbx/manual/maintenance/update/lxc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
