---
title: Запуск Human Plugin в вашей инфраструктуре
description: Что включает запуск Human Plugin — один контейнер и ваша база данных PostgreSQL — и порядок развёртывания.
canonical: https://developer.unico.io/ru/human-plugin/self-hosting/overview
locale: ru
generated_by: markdown-export
---

# Запуск Human Plugin в вашей инфраструктуре

Один контейнер и одна база данных PostgreSQL в вашей сети — и вы подключены к Unico.

```mermaid
flowchart LR
  A[Your back-end] --> B[Human Plugin container]
  B --> C[(Your PostgreSQL, dedicated)]
```

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

| Требование | Описание |
| --- | --- |
| Среда выполнения контейнеров | Docker, Docker Compose или Kubernetes. Образ собран для `linux/amd64` и `linux/arm64` и запускается от имени пользователя без прав root |
| PostgreSQL | Версия 16 или новее. База данных, используемая только Human Plugin, доступная по имени пользователя и паролю. SSL требуется по умолчанию |
| Исходящий HTTPS | К Unico. См. [Сеть и безопасность](/ru/human-plugin/self-hosting/networking-and-security) |
| Входящий трафик | Порт `8080`, обычный HTTP, только от вашего бэкенда |
| Секреты | Ваш ключ доступа и пароль базы данных |

<a id="hardware-requirements"></a>

## Требования к оборудованию

Минимум для запуска Human Plugin с нагрузкой до **1 500 транзакций в минуту** при селфи размером до 800 КБ.

### Human Plugin

| Ресурс | Минимум |
| --- | --- |
| CPU | 1 vCPU на реплику |
| Память | 1 ГБ на реплику |

Для большего объёма добавляйте одну реплику на каждые 1 500 транзакций в минуту. Мы также советуем запускать более одной реплики, чтобы Human Plugin оставался доступным, пока одна из них перезапускается.

### PostgreSQL

| Ресурс | Минимум |
| --- | --- |
| Версия | 16 |
| CPU | 2 vCPU |
| Память | 4 ГБ |
| Диск | SSD |

Чтобы оценить объём диска, умножьте примерно 1,7 КБ на процесс на количество процессов в день и на число дней хранения, затем добавьте 30%.

### Сеть

Исходящий HTTPS (порт 443) к Unico. См. [Сеть и безопасность](/ru/human-plugin/self-hosting/networking-and-security).

## Образ

Human Plugin опубликован как `pkg.unico.run/human-plugin-api:latest`. Всегда запускайте тег `latest`, который соответствует текущему релизу. Загружайте его с учётными данными реестра (имя пользователя и токен), которые выдаёт вам Unico. См. [Предварительные требования и доступ](/ru/human-plugin/get-started/prerequisites).

## Порядок развёртывания

1. Создайте отдельную базу данных и роль для Human Plugin.
2. Задайте [конфигурацию](/ru/human-plugin/self-hosting/configuration), подставив секреты из вашего хранилища секретов.
3. Запустите контейнер через [Docker Compose](/ru/human-plugin/self-hosting/docker-compose) или [Kubernetes](/ru/human-plugin/self-hosting/kubernetes) с тайм-аутом остановки не менее 60 секунд.
4. Дождитесь, пока `GET /health/ready` ответит `200`, прежде чем направлять трафик. См. [Состояние и мониторинг](/ru/human-plugin/self-hosting/health-and-monitoring).
5. Ограничьте доступ только вашим бэкендом. См. [Сеть и безопасность](/ru/human-plugin/self-hosting/networking-and-security).
6. Выполните к нему запрос на создание из [Быстрого старта](/ru/human-plugin/get-started/quickstart#3-create-a-process).

## Что происходит при запуске

Human Plugin загружает [каталог атрибутов](/ru/human-plugin/additional-resources/attribute-catalog), подключается к PostgreSQL и подготавливает свои таблицы, затем открывает порт. Он останавливается с ошибкой до начала прослушивания, если:

- обязательная настройка отсутствует или недопустима;
- не удаётся загрузить каталог атрибутов;
- PostgreSQL недоступен или роль не может создавать таблицы.

Причина указана в журнале. См. [Устранение неполадок](/ru/human-plugin/additional-resources/troubleshooting).

## Несколько экземпляров

Human Plugin не хранит состояние запросов в памяти, поэтому несколько контейнеров могут использовать одну базу данных. Контейнеры, запускающиеся одновременно, координируются через базу данных, так что реплики можно разворачивать вместе.

## Переход в продакшен

- Держите тайм-аут остановки не менее 60 секунд.
- Направляйте трафик на контейнер только после того, как `/health/ready` ответит `200`.
- Никогда не открывайте Human Plugin за пределы вашей частной сети.
- Делайте резервные копии базы данных: в ней хранятся ваши аналитические данные. См. [Эксплуатация](/ru/human-plugin/self-hosting/operations).