> For the complete documentation index, see [llms.txt](https://doc.ozforensics.com/oz-knowledge-ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-administratora/configuration.md).

# Конфигурация API

## Разделы настроек

В зависимости от типа инсталляции (через установщик или с помощью наших инженеров) настройки могут храниться в:

* `/opt/gateway/configs` на хосте или внутри Docker-контейнера `oz-api`
* `/var/lib/docker/volumes/api_oz-api-config-vol/_data` в случае [стационарного установщика](/oz-knowledge-ru/other/old-docs/ustanovka-modulei-oz/standalone.md).

Основной файл настроек — **config.py**

## **Подключение к Postgres**

```bash
DB_USER = 'имя пользователя'
DB_HOST = 'адрес сервера Postgres'
DB_PASS = 'пароль пользователя'
DB_NAME = 'название базы'
```

## Путь к медиафайлам

Все входящие медиафайлы сохраняются в локальную папку, примонтированную к одному из мест в зависимости от установки:

* `/opt/gateway/static` на хосте или в Docker-контейнере
* `/var/lib/docker/volumes/api_oz-api-static-vol/_data` - в случае стационарного установщика
* любой указанный заранее путь

При большинстве сценариев интеграции медиафайлы доступны из внешней сети по прямым ссылкам с указанием случайно сгенерированных имён файлов.

Для корректной работы API внешнее имя хоста, порт и схема должны быть записаны в конфигурационный файл.

```bash
PORT = 443
SCHEME = 'https'
HOST = 'api.globalbank.com'
```

### Связка с Oz Bio / Liveness

```bash
OZ_SERVICE_TFSS_HOST = 'http://bio-server-name:8501/v1/'
```

{% hint style="warning" %}
**BIO-Updater** и **BIO** требуют доступа к следующим внешним ресурсам:

* <https://api.cryptlex.com/>
* https\://\*.infra.ozforensics.ai/
* https\://\*.s3.amazonaws.com/
* https\://\*.s3-accelerate.amazonaws.com/

**Oz API** также необходим доступ к <https://api.cryptlex.com/>. Эндпойнты:

* `POST /v3/activations`
* `PATCH /v3/activations/{id}`
* `POST /v3/activations/{id}/deactivate`
* `POST /v3/activations/meter-attributes/{name}`
  {% endhint %}

### Тайминги и ограничения

```bash
# максимальное время ожидания одного анализа
OZ_ANALYSE_PROCESSING_EXPIRE_TIMEOUT = 15 * 60  # 15 минут
# максимальное время ожидания анализа API
OZ_ANALYSE_DELIVERY_EXPIRE_TIMEOUT = 60 * 60  # 1 час
# частота проверки просроченности анализа
OZ_ANALYSE_EXPIRE_BEAT_PERIOD = 1 * 60  # каждую минуту

# максимальное количество прикрепленных медиа
OZ_ATTACHMENT_MAX_COUNT = 10
# максимальный размер одного медиа
OZ_ATTACHMENT_MAX_SIZE = 24 * 1024 * 1024  # 24 Mb

# количество секунд до истечения авторизационного токена
OZ_SESSION_TTL = 60 * 15  # 15 мин
# количество секунд до истечения сервисного токена
OZ_SESSION_LONGLIVE_TTL = 60 * 60 * 24 * 365 * 5  # 5 лет

# максимальный размер миниатюры в байтах
OZ_IMAGE_SIZE_THUMBNAIL = 300
# максимальная продолжительность видео в секундах
OZ_VIDEO_DURATION_MAX = 30
```

<details>

<summary>Celery (не поддерживается, начиная с 6.5.0)</summary>

{% code title="Celery" expandable="true" %}

```bash
# количество попыток провести анализ при отказе Oz Bio
OZ_CELERY_RETRY_MAX_COUNT = 7
# промежуток между попытками
OZ_CELERY_RETRY_STEP = 30
```

{% endcode %}

</details>

Вы можете снизить нагрузку на TFSS, установив ограничение на количество запросов, которые API одновременно туда отправляет. Используйте настройку `OZ_SERVICE_TFSS_CONCURRENCY_LIMIT_MODE` с описанными ниже параметрами.

<table><thead><tr><th width="116">Значение</th><th width="183.60003662109375">Описание</th><th>Дополнительные параметры</th></tr></thead><tbody><tr><td><code>OFF</code></td><td>Значение по умолчанию; ограничений нет</td><td>-</td></tr><tr><td><code>TOTAL</code></td><td>Общий лимит для всех типов анализов</td><td>Установите лимит в <code>OZ_SERVICE_TFSS_CONCURRENCY_LIMIT</code> (по умолчанию: 0)</td></tr><tr><td><code>SEPARATE</code></td><td>Отдельный лимит для каждого типа анализа</td><td><p>Установите лимит для каждого типа анализа:<br></p><ul><li><code>OZ_SERVICE_TFSS_CONCURRENCY_LIMIT_QUALITY</code>,</li><li><code>OZ_SERVICE_TFSS_CONCURRENCY_LIMIT_BIOMETRY</code>,</li><li><code>OZ_SERVICE_TFSS_CONCURRENCY_LIMIT_COLLECTION</code>.</li></ul></td></tr></tbody></table>

Если лимит будет превышен, API вернет HTTP `429 Too Many Requests`.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-administratora/configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
