# Удаление XRM Director

{% hint style="warning" %}
Данная инструкция приводит к полному удалению XRM Director, связанных контейнеров, сетей, образов и рабочих данных с сервера.
{% endhint %}

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

**Назначение инструкции**

Документ описывает полное удаление развертывания XRM Director с сервера, включая:

* остановку и удаление контейнеров;
* удаление Docker-сети, связанной с XRM Director;
* удаление контейнерных образов XRM Director;
* удаление рабочих каталогов и файлов конфигурации на сервере.

***

### Что будет удалено

В типовом сценарии будут удалены:

* контейнеры `backend` и `frontend` XRM Director;
* сеть Docker `xrm-network`;
* контейнерные образы `xrmtech/xrm-director-backend:*` и `xrmtech/xrm-director-frontend:*`;
* каталог развертывания, например `/opt/xrmd`.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Если на сервере присутствуют другие проекты Docker, данная инструкция не должна затрагивать их контейнеры и сети. Удаляйте только объекты, относящиеся к XRM Director.</p></div>

### Предварительная проверка

Перед удалением рекомендуется проверить текущее состояние контейнеров:

```bash
docker ps -a
```

Если XRM Director развернут через `docker compose`, также проверьте состав проекта из каталога установки:

```bash
cd /opt/xrmd
docker compose ps
```

***

### Шаг 1. Остановка контейнеров XRM Director

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

```bash
cd /opt/xrmd
```

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

```bash
docker compose down
```

{% hint style="info" %}
Команда \`docker compose down\` останавливает контейнеры проекта и удаляет созданные им контейнеры и сеть Compose, если она не используется другими контейнерами.
{% endhint %}

***

### Шаг 2. Проверка, что контейнеры больше не запущены

Выполните:

```bash
docker ps -a
```

Убедитесь, что контейнеры XRM Director отсутствуют или больше не находятся в состоянии `Up`.

Если контейнеры еще присутствуют, можно удалить их вручную.

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

```bash
docker rm -f xrmd_install-frontend-1
docker rm -f xrmd_install-backend-1
```

{% hint style="warning" %}
Имена контейнеров могут отличаться в зависимости от имени каталога проекта или параметров \`docker compose\`.
{% endhint %}

***

### Шаг 3. Удаление сети XRM Director

Проверьте список Docker-сетей:

```bash
docker network ls
```

Если в системе осталась сеть `xrm-network`, удалите ее:

```bash
docker network rm xrm-network
```

Если сеть уже удалена командой `docker compose down`, Docker вернет сообщение, что такой сети не существует.

***

### Шаг 4. Удаление образов XRM Director

Проверьте наличие образов:

```bash
docker images
```

Удалите образы XRM Director:

```bash
docker rmi xrmtech/xrm-director-backend:beta_0.2.7
docker rmi xrmtech/xrm-director-frontend:beta_0.2.7
```

Если на сервере используются другие теги этих же образов, при необходимости их тоже можно удалить:

```bash
docker images | grep xrm-director
```

{% hint style="warning" %}
Удаляйте только те образы, которые действительно относятся к XRM Director и не используются другими развертываниями.
{% endhint %}

***

### Шаг 5. Удаление рабочих каталогов и данных

Если конфигурация и данные больше не нужны, удалите каталог развертывания:

```bash
sudo rm -rf /opt/xrmd
```

В результате будут удалены:

* `docker-compose.yml`;
* `backend/settings.py`;
* журналы `logs`;
* рабочие данные `plandata`;
* локальные данные `db`.

  <div data-gb-custom-block data-tag="hint" data-style="danger" class="hint hint-danger"><p>Команда <code>rm -rf</code> удаляет данные без возможности восстановления стандартными средствами. Перед выполнением проверьте путь еще раз.</p></div>

***

### Шаг 6. Проверка полного удаления

Проверьте, что контейнеры XRM Director больше отсутствуют:

```bash
docker ps -a
```

Проверьте, что образы удалены:

```bash
docker images
```

Проверьте, что каталог установки удален:

```bash
ls -la /opt
```

При необходимости убедитесь, что сеть `xrm-network` больше не существует:

```bash
docker network ls
```

***

### Вариант быстрого удаления

Если требуется удалить типовое развертывание XRM Director целиком, можно использовать следующую последовательность:

```bash
cd /opt/xrmd
docker compose down
docker rmi xrmtech/xrm-director-backend:beta_0.2.7
docker rmi xrmtech/xrm-director-frontend:beta_0.2.7
sudo rm -rf /opt/xrmd
```

После этого выполните проверку:

```bash
docker ps -a
docker images
docker network ls
```

***

### Если требуется удалить только контейнеры, но сохранить данные

Если необходимо удалить только контейнеры и сеть, но оставить конфигурацию и рабочие данные на сервере, выполните только:

```bash
cd /opt/xrmd
docker compose down
```

В этом случае каталог `/opt/xrmd` останется в системе.

***

### Результат

После выполнения действий XRM Director, связанные с ним Docker-контейнеры, сеть, образы и рабочие файлы будут полностью удалены из системы.


---

# Agent Instructions: 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:

```
GET https://kb.x-rm.ru/dokumentaciya/dokumentaciya-xrm-director/xrmd-versiya-1.1.0/udalenie-xrm-director.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
