---
title: "Установка Telegram Agent"
id: "1721"
type: "page"
slug: "install"
published_at: "2026-09-04T10:57:21+00:00"
modified_at: "2026-09-05T01:25:59+00:00"
url: "https://pastukhov.com/agents/telegram/install"
markdown_url: "https://pastukhov.com/agents/telegram/install.md"
excerpt: "Telegram Agent — программа для управления вашим маркетингом в Telegram, которую вы запускаете на своём…"
---

# Установка Telegram Agent

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

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

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

 Telegram Agent — программа для управления вашим маркетингом в Telegram, которую вы запускаете на своём сервере. Разворачивается одним Docker-контейнером, все данные хранятся в постоянном volume `/data`. Своя база данных не нужна: встроенная SQLite работает из коробки, PostgreSQL подключается по желанию.

## Минимальные требования

Достаточно любого Linux-хоста с Docker (например, недорогого VPS). Всё остальное уже встроено в образ:

- веб-сервер приложения (ASP.NET Core 9 runtime);
- база данных SQLite — работает без настройки;
- для чата с ИИ-агентом понадобится адрес и API-ключ вашего Pastukhov Agent — но это необязательно: без них работает всё, кроме чата с агентом.

## Docker Compose

Создайте файл `compose.yml` и запустите `docker compose up -d`:

```
services:
  telegram-agent-ru:
    image: maxpastukhov/telegram-agent:latest
    container_name: telegram-agent-ru
    ports:
      - "3998:80"
    volumes:
      - telegram-agent-data-ru:/data
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:80
      - TELEGRAM_AGENT_BRAND=pastukhov
      - TELEGRAM_AGENT_DATA=/data
# Optional "Call Agent" integration (leave unset to hide all Agent chat surfaces):
# - AGENT_API_URL=https://your-agent-host
# - AGENT_API_KEY=your-agent-API-key
# Serve from a first-level subfolder (see ../subfolder-hosting.md):
# - TELEGRAM_AGENT_BASE_PATH=/telegram
    restart: unless-stopped
    sysctls:
      fs.inotify.max_user_watches: "524288"
      fs.inotify.max_user_instances: "512"

volumes:
  telegram-agent-data-ru:
```

После запуска интерфейс будет доступен на порту `3998`: `http://localhost:3998`.

Две строки `sysctls` повышают системные лимиты отслеживания изменений файлов — они нужны, чтобы новые сообщения из источников и посты подхватывались мгновенно, в реальном времени. Без них на больших потоках часть обновлений может не дойти до интерфейса.

## Переменные окружения

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

| Переменная | Назначение | По умолчанию |
| --- | --- | --- |
| TELEGRAM_AGENT_BRAND | бренд и язык интерфейса: pastukhov (русский) или xedant (английский) | xedant |
| TELEGRAM_AGENT_DATA | папка данных (в контейнере — /data) | /data |
| TELEGRAM_AGENT_LOGIN | логин первого пользователя (пароль — SHA-256-хэш в TELEGRAM_AGENT_PASSWORD) | — (саморегистрация) |
| TELEGRAM_AGENT_PASSWORD | SHA-256-хэш пароля, не сам пароль: echo -n "ваш-пароль" \| sha256sum | — |
| TELEGRAM_AGENT_LICENSE | лицензионный ключ (или путь к файлу с ним) | — (без чата с агентом) |
| TELEGRAM_AGENT_LICENSE_ARG | лицензионный ключ (приоритетнее TELEGRAM_AGENT_LICENSE) | — |
| AGENT_API_URL | адрес Pastukhov Agent для чата с агентом | — (кнопки «Вызвать агента» скрыты) |
| AGENT_API_KEY | API-ключ Pastukhov Agent | — |
| TELEGRAM_AGENT_BASE_PATH | размещение в подпапке первого уровня (например, /telegram) | — |
| TELEGRAM_AGENT_DB | строка подключения PostgreSQL; пустое значение — встроенная SQLite | SQLite (/data/data.db) |

Обратите внимание: `TELEGRAM_AGENT_PASSWORD` содержит не пароль, а его SHA-256-хэш — «отпечаток», по которому пароль восстановить нельзя. Хэш вычисляется командой `echo -n "ваш-пароль" | sha256sum`. При входе приложение хэширует введённый пароль и сравнивает с заданным значением.

Первая настройка выполняется прямо в интерфейсе: **саморегистрация открыта, пока не создан ни один пользователь** — первый зарегистрировавшийся становится администратором. Если пользователей ещё нет и логин с паролем не заданы переменными, приложение само создаст одноразовый пароль (логин `code`) и выведет его в консоль контейнера. Сессия входа живёт 90 дней.

## Хранение данных

Все постоянные данные живут в volume `/data` и переживают пересоздание контейнера:

- `/data/data.db` — база данных SQLite (когда не используется PostgreSQL);
- `/data/sessions/` — сессии подключённых Telegram-аккаунтов;
- `/data/media/` — загруженные медиафайлы;
- `/data/keys/` — ключ подписи входа (JWT);
- `/data/auth/` — ключи защиты данных.

Volume обязателен: без него вы потеряете подключённые аккаунты, каналы и настройки при первом же `docker compose down`.

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

Откройте интерфейс в браузере и зарегистрируйтесь первым пользователем — вы станете администратором. Либо войдите под логином, заданным переменными окружения (в переменной — хэш, при входе вводите сам пароль) или выданным в консоли контейнера. Сразу после входа можно сменить язык и тему интерфейса.

## Настройка после запуска

Сначала подключите ботов — токены создаются в @BotFather за минуту и проверяются автоматически — и (по желанию) личные Telegram-аккаунты по номеру телефона и коду. Затем подключите каналы: через бота достаточно имени и токена, через аккаунт — выбрать из списка ваших каналов. Подробнее — в разделе [Каналы](/agents/telegram/docs/channels)
.

Чат с ИИ-агентом включается переменными `AGENT_API_URL` и `AGENT_API_KEY`: появляются кнопки «Вызвать агента» на страницах канала и очереди и панель чата. Подробнее — в разделе [ИИ-агент](/agents/telegram/docs/agent)
.

## Лицензия

Лицензионный ключ активируется в диалоге лицензии (подвал главного экрана) или передаётся переменными `TELEGRAM_AGENT_LICENSE`/`TELEGRAM_AGENT_LICENSE_ARG` при запуске. Важное преимущество: без лицензии работает всё — каналы, публикации, расписание, очередь, источники, комментарии и аналитика. Лицензия нужна только для отправки сообщений в чат агента. Подробнее — на странице [Лицензирование](/agents/telegram/license)
.

## Docker CLI с файлом .env

Можно запустить Telegram Agent и без compose — командой `docker run`, сохранив переменные окружения в файле `.env`:

```
# .env
ASPNETCORE_ENVIRONMENT=Production
ASPNETCORE_URLS=http://+:80
TELEGRAM_AGENT_DATA=/data
TELEGRAM_AGENT_BRAND=pastukhov
TELEGRAM_AGENT_LOGIN=admin
TELEGRAM_AGENT_PASSWORD=sha256-хэш-пароля
# опционально: чат с ИИ-агентом через Pastukhov Agent
# AGENT_API_URL=
# AGENT_API_KEY=
# опционально: лицензионный ключ
# TELEGRAM_AGENT_LICENSE=
```

```
docker run -d \
  --name telegram-agent-ru \
  --env-file .env \
  -p 3998:80 \
  -v telegram-agent-data-ru:/data \
  --sysctl fs.inotify.max_user_watches=524288 \
  --sysctl fs.inotify.max_user_instances=512 \
  --restart unless-stopped \
  maxpastukhov/telegram-agent:latest
```

Флаг `--env-file` считывает все переменные из файла. Отдельные значения можно переопределить дополнительными флагами `-e` после него, например `-e TELEGRAM_AGENT_BRAND=xedant`.

[← Вернуться на главную раздела Telegram Agent](/agents/telegram)
