---
title: "Установка Прокси-агента"
id: "2010"
type: "page"
slug: "install"
published_at: "2026-09-20T18:33:01+00:00"
modified_at: "2026-09-21T00:00:47+00:00"
url: "https://pastukhov.com/agents/proxy/install"
markdown_url: "https://pastukhov.com/agents/proxy/install.md"
excerpt: "«Прокси-агент» — это одна точка входа ко всем моделям, которыми пользуется ваша команда. Программа живёт…"
---

# Установка Прокси-агента

[https://pastukhov.com/agents/proxy/install.md](https://pastukhov.com/agents/proxy/install.md)

Не хотите читать всё это? Просто скиньте в любой ИИ-чат (Claude, ChatGPT и т.д.) ссылку на [https://pastukhov.com/agents/proxy/install.md](https://pastukhov.com/agents/proxy/install.md)
 или на [https://pastukhov.com/llms.txt](https://pastukhov.com/llms.txt)
 и попросите сгенерировать конфигурационные файлы и команды. Он прочитает документацию, задаст несколько вопросов о вашей настройке и выдаст готовую конфигурацию. Экономьте время — пусть модель читает за вас.

 Вы также можете связаться со мной через Telegram — я всегда рад помочь. И это не просто вежливость — мне действительно нравится общаться с единомышленниками, особенно если вы так же увлечены программированием, как и я.

 «Прокси-агент» — это одна точка входа ко всем моделям, которыми пользуется ваша команда. Программа живёт на вашем сервере и разворачивается одним контейнером Docker, а рядом нужна база PostgreSQL — это единственная обязательная настройка. После установки все ваши программы обращаются не к десятку поставщиков по отдельности, а к адресу вашего сервера: ключи поставщиков, лимиты расхода и журнал запросов остаются у вас, а не расходятся по компьютерам сотрудников.

## Что понадобится

- Сервер или компьютер с Docker — подойдёт Windows, Linux или macOS, а для постоянной работы достаточно недорогого сервера.
- **База PostgreSQL** — отдельная и обязательная. Внутри контейнера базы нет: без строки подключения приложение не запустится. Проще всего поднять базу рядом в том же файле запуска, как показано ниже.
- Один свободный порт для интерфейса и запросов (в примерах — 5000) и, если понадобится прокси для обычного трафика, ещё один отдельный порт (5001).
- По желанию — адрес и ключ вашего Pastukhov Agent: без них работает всё, кроме чата с ИИ-агентом внутри продукта.

## Установка через Docker Compose

Создайте файл `compose.yml` с таким содержимым. Здесь две службы: база и само приложение.

```
services:
  postgres:
    image: postgres:17
    container_name: proxyagent-postgres
    environment:
      - POSTGRES_DB=proxyagent
      - POSTGRES_USER=proxyagent
      - POSTGRES_PASSWORD=смените-этот-пароль
    volumes:
      - proxyagent-db:/var/lib/postgresql/data
    restart: unless-stopped

  proxyagent:
    image: maxpastukhov/proxy-agent:main-latest
    container_name: proxyagent
    ports:
      - "5000:80"
# раскомментируйте, если нужен прокси для обычного трафика (HTTP + SOCKS5)
# - "5001:5001"
    volumes:
      - proxyagent-state:/tmp/proxyagent
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - PROXYAGENT_DATABASE=Host=postgres;Port=5432;User Id=proxyagent;Password=смените-этот-пароль;Database=proxyagent;
      - PROXYAGENT_ADMIN_LOGIN=admin
      - PROXYAGENT_ADMIN_PASSWORD=<сумма SHA-256 от пароля, строчными буквами>
      - JWT_SECRET_KEY=<случайная строка не короче 32 знаков>
    restart: unless-stopped

volumes:
  proxyagent-db:
  proxyagent-state:
```

Образ `maxpastukhov/proxy-agent:main-latest` — русская сборка с русским интерфейсом. Затем запустите:

```
docker compose up -d
```

Интерфейс появится на порту `5000`: `http://<адрес-сервера>:5000`. Пароль базы замените на свой и подставьте его же в строку `PROXYAGENT_DATABASE` — это одна и та же пара значений. Лицензионный ключ в файле не нужен: встроенной проверки лицензии в продукте нет.

## Запуск без Compose

Можно обойтись и одной командой `docker run` — базу в этом случае поднимите отдельно:

```
docker run -d \
  --name proxyagent \
  -p 5000:80 \
  -v proxyagent-state:/tmp/proxyagent \
  -e PROXYAGENT_DATABASE="Host=адрес-базы;Port=5432;User Id=proxyagent;Password=ваш-пароль;Database=proxyagent;" \
  -e PROXYAGENT_ADMIN_LOGIN=admin \
  -e PROXYAGENT_ADMIN_PASSWORD=ваша-сумма-sha256 \
  -e JWT_SECRET_KEY=ваша-случайная-строка-не-короче-32-знаков \
  --restart unless-stopped \
  maxpastukhov/proxy-agent:main-latest
```

Остальные переменные удобно передать файлом через флаг `--env-file .env` — так их проще менять, не переписывая длинную команду.

## Основные переменные окружения

Настройки задаются переменными окружения — их прописывают один раз в `compose.yml` и меняют без правки кода. Почти все имена начинаются с `PROXYAGENT_`.

| Переменная | Что задаёт | По умолчанию |
| --- | --- | --- |
| PROXYAGENT_DATABASE | строка подключения к PostgreSQL — единственная обязательная настройка | нет; без неё приложение не запускается |
| PROXYAGENT_ADMIN_LOGIN, PROXYAGENT_ADMIN_PASSWORD | вход администратора; пароль — сумма SHA-256, записанная строчными буквами (в форме входа есть встроенный генератор) | не заданы — показывается «первоначальная настройка» |
| JWT_SECRET_KEY | подпись сессий входа (не короче 32 знаков); с ним сессии переживают пересоздание контейнера | генерируется и сохраняется в файле |
| PROXYAGENT_AGENT_API_URL, PROXYAGENT_AGENT_API_KEY | чат с ИИ-агентом внутри продукта (подключение Pastukhov Agent); читаются один раз при запуске | не заданы — чат скрыт |
| PROXYAGENT_BASE_PATH | размещение в первой подпапке (например, /proxy) | не задано — работа в корне домена |
| PROXYAGENT_TUNNEL_PORT | порт прокси-службы, если в настройках не сохранён свой | 5001 |
| PROXYAGENT_ANONYMIZER_DB | папка хранилища скрытия секретов: правила, соответствия и события утечек | /tmp/proxyagent/anonymizer |
| PROXYAGENT_CLICKHOUSE_URL | отправка статистики в ClickHouse; при заданном значении в аналитике появляется кнопка восстановления пропущенных дней | не задано — выключено |
| ASPNETCORE_URLS | адрес прослушивания внутри контейнера | http://+:80 |
| ASPNETCORE_ENVIRONMENT | Production включает защиту и строгую страницу ошибок | Production |

## Где хранятся данные

Деловые данные — модели, ключи доступа, журналы запросов, журнал обычного трафика, настройки, расходы — лежат в вашей базе PostgreSQL и переживают что угодно. Всё остальное живёт во временной папке контейнера `/tmp/proxyagent`:

- сохранённые «размышления» моделей DeepSeek — заполняются заново по мере работы;
- `auth/` — ключи защиты данных;
- `appdata/.jwt-secret` — файл подписи сессий входа;
- хранилище скрытия секретов — правила, соответствия и события утечек.

Если эту папку не подключить томом, при пересоздании контейнера произойдёт вот что: «размышления» заполнятся заново, хранилище секретов обнулится (а значит, уже отправленные в модель обозначения перестанут возвращаться на место), а все выданные сессии входа перестанут действовать. Поэтому в примере выше подключён том `proxyagent-state`, а `JWT_SECRET_KEY` задан постоянным значением — тогда вход не придётся выполнять заново.

## Первый вход

Откройте интерфейс в браузере. Логин и пароль администратора задаются переменными `PROXYAGENT_ADMIN_LOGIN` и `PROXYAGENT_ADMIN_PASSWORD`; если они не заданы, продукт честно сообщает о «первоначальной настройке» и работать не даст. В переменной хранится не сам пароль, а его необратимая сумма SHA-256 — при входе вы вводите пароль, приложение считает сумму от введённого и сравнивает с заданной. Готовую сумму удобно получить встроенным генератором прямо в форме входа. Сессия входа живёт 90 дней, и переменные читаются на каждом запросе, поэтому пароль можно поменять без перезапуска контейнера.

## Что сделать после запуска

Когда интерфейс открылся, до первого запроса остаётся несколько шагов:

1. Заведите первую модель в разделе «Ключи → Модели»: публичное имя, адрес и ключ поставщика, цены за миллион «порций текста» (токенов). Подробнее — в разделе [Модели и цены](/agents/proxy/docs/models) .
2. Нажмите «Проверить» у модели — продукт сходит к поставщику настоящим путём и скажет, отвечает ли связь.
3. Создайте ключ доступа для первой программы. Ключ показывается ровно один раз — сохраните его сразу.
4. Подключите программу: вместо адреса поставщика укажите адрес вашего сервера, вместо ключа поставщика — ключ доступа. Как именно — в разделе [Подключение программ](/agents/proxy/docs/connect) .
5. Отправьте первый запрос и убедитесь, что он появился в журнале запросов: там видно модель, ключ, токены и стоимость.

## Прокси для обычного трафика

Кроме работы с моделями продукт умеет быть обычным прокси-сервером для браузеров и программ, не связанных с ИИ. По умолчанию эта возможность **выключена**: включите её в «Настройках», и порт начнёт слушать.

- Порт берётся из настроек, а если там пусто — из переменной `PROXYAGENT_TUNNEL_PORT` (по умолчанию `5001`).
- Вход по ключу доступа включён по умолчанию: без ключа в интернет никто не выйдет. Отключать проверку стоит только внутри закрытой сети.
- Если нужен канал связи через VPN, контейнеру потребуются права `NET_ADMIN` и установленный WireGuard внутри образа: готовый образ их не содержит.

Такой трафик считается в объёме, но не в деньгах и не расходует лимиты ключей. Подробнее — в разделе [Прокси для обычного трафика](/agents/proxy/docs/tunnel)
.

## Установка через Pastukhov MultiAgent

Если у вас несколько серверов, удобнее ставить продукт из Pastukhov MultiAgent: он сам поднимает контейнер, выдаёт постоянный адрес и HTTPS, подключает базу. «Прокси-агент» есть в каталоге продуктов (порт 6040), база прописывается той же переменной `PROXYAGENT_DATABASE`, а связанный Pastukhov Agent подключается к чату. Подробнее о самом MultiAgent — на странице [MultiAgent](/agents/multiagent)
.

## Лицензия и обновления

Скажем честно: **ключ активации в продукт не встроен** — он работает сразу после установки и сам ничего не ограничивает. Лицензия — это право использования, 12 месяцев бесплатных обновлений и поддержка. Цены те же, что у соседних продуктов: персональная — 19 700 ₽, корпоративная — 49 700 ₽, сервисная — 97 000 ₽. Подробнее — на странице [Лицензирование](/agents/proxy/license)
.

Дальше стоит заглянуть в [Начало работы](/agents/proxy/docs/getting-started)
 — там коротко о том, как продукт устроен изнутри.

[← Вернуться на главную раздела Прокси-агент](/agents/proxy)
