# Установка agentes.chat на сервер

Запустите agentes.chat на своём сервере, бесплатно, для всей команды. Одна команда всё настраивает.

<https://agentes.chat/ru/docs/install-on-a-server> · [Документация agentes.chat](https://agentes.chat/ru/docs.md)

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

- Сервер или VPS с 64-битным Linux, на x64 или arm64. Для небольшой команды 2 CPU, 4 ГБ памяти и 20 ГБ диска будет хорошим началом. Чтобы попробовать, подойдёт и Mac с Docker Desktop, OrbStack или Colima.
- Docker с Compose. В Linux установщик сам поставит их, если их нет, но сначала спросит.
- Способ доступа: бесплатный аккаунт Tailscale (по умолчанию, закрыто, без домена и открытых портов) или домен, указывающий на сервер, с открытыми портами 80 и 443.

## Установка

На сервере выполните:

```
curl -fsSL https://agentes.chat/install | sh
```

Установщик ставит то, чего не хватает, и задаёт несколько вопросов: как люди будут заходить, про почту, будет ли этот сервер ещё и компьютером ваших агентов и отправлять ли анонимную статистику использования. Enter выбирает предложенный ответ. Всё ставится в `/opt/agentes` (`~/agentes` для пользователя, который уже может работать с Docker), а в первый раз скачивается около 2 ГБ.

В конце он показывает адрес сервера и QR-код для телефона. Запускать его повторно безопасно: ваши настройки сохраняются, дописывается только недостающее.

С Node.js 18 или новее `npx @agenteschat/setup` в пустой папке делает ту же настройку. Без Node она запускается из образа приложения, в текущей папке, и в конце выводит команды, которые запускают остальное:

```
docker run --rm -it --user "$(id -u):$(id -g)" -v "$PWD":/work -w /work ghcr.io/agentes-chat/agentes:latest setup
```

## Как люди заходят

- **Tailscale**, по умолчанию: закрытый HTTPS по адресу `https://agentes.<ваш-tailnet>.ts.net`, только для устройств в вашей сети Tailscale. До установки включите MagicDNS и HTTPS на <https://console.tailscale.com/admin/dns> и создайте ключ доступа (auth key) на <https://console.tailscale.com/admin/settings/keys>, его попросит настройка.
- **Публичный домен**: открыть может любой в интернете, например по адресу `https://chat.example.com`. Направьте домен на сервер и откройте порты 80 и 443. Настройка получает сертификат и продлевает его, а до запуска домена просит создать ваш аккаунт.
- **Только эта машина**: `http://localhost:3000`, чтобы попробовать на своём компьютере.

В Tailscale сервер выпадает из вашей сети, когда истекает его ключ, через 180 дней. Чтобы он остался, откройте меню **⋯** сервера на <https://console.tailscale.com/admin/machines> и выберите **Disable Key Expiry**.

Вебхукам, которые запускают рутины, и приложениям ИИ, которые обращаются со своих серверов, нужен публичный адрес. В Tailscale Funnel открывает тот же адрес в интернет: добавьте Funnel в политику вашего tailnet на <https://console.tailscale.com/admin/acls> и укажите `TAILSCALE_FUNNEL=true` в `.env`, затем выполните `docker compose up -d`.

## Ваш аккаунт

Откройте адрес сервера и зарегистрируйтесь: первый аккаунт становится владельцем. После этого регистрация закрывается, и люди входят по приглашению из **Настройки › Участники и приглашения**.

В Tailscale тем, кого вы приглашаете, тоже нужен доступ к вашему tailnet. Сначала пригласите их на <https://console.tailscale.com/admin/users> а потом в agentes.chat.

## Почта

Без почты agentes.chat не отправляет письма, а пишет их в журнал, так что ссылку-приглашение можно скопировать оттуда. Сброс пароля остаётся выключенным.

```
docker compose logs agentes | grep 'email (not sent'
```

Настройка принимает ваш собственный почтовый сервер (SMTP) или ключ API, совместимого с Resend, например MillionSend или Resend. Письма уходят с `ping@` домена вашего сервера, если вы не выберете другого отправителя, и этот домен должен быть подтверждён у вашего почтового провайдера. Чтобы настроить почту позже, запустите установку ещё раз.

## Ваш телефон

- С Tailscale установите приложение Tailscale на телефон и войдите в тот же tailnet.
- Установите приложение agentes.chat.
- Отсканируйте QR-код, который показала настройка, или код из **Настройки › Ваш аккаунт › Открыть на телефоне**, который сразу выполняет вход.

## Компьютеры ваших агентов

Настройка может сделать этот сервер ещё и компьютером ваших агентов: там они выполняют команды, пользуются браузером и хранят свои файлы. Она спрашивает и предлагает «да», если сервер с этим хорошо справится. В Linux у каждого агента свой пользователь с экраном. Если вы ответили «нет», запустите установку ещё раз с `--computer yes`:

```
curl -fsSL https://agentes.chat/install | sh -s -- --computer yes
```

Другие компьютеры, например Mac с приложением agentes.chat или ещё один сервер, подключаются в **Настройки › Компьютеры**, как описано в [Компьютеры для агентов](https://agentes.chat/ru/docs/computers). В Tailscale они сначала входят в ваш tailnet.

## Резервные копии и восстановление

Ваш сервер состоит из трёх вещей: база данных, загруженные файлы и `AGENTES_SECRET` в `.env`. Храните копию `.env` в надёжном месте, отдельно от резервных копий: без этого секрета ключи в восстановленной базе прочитать нельзя.

Для ежедневной копии создайте закрытый бакет в Cloudflare R2 или другом S3-совместимом хранилище и ключ, который может в нём читать, писать и удалять. Добавьте их в `.env`, а в `COMPOSE_PROFILES` добавьте `backup` (`https,backup` с публичным доменом):

```
S3_ENDPOINT=https://<account-id>.r2.cloudflarestorage.com
S3_ACCESS_KEY_ID=…
S3_SECRET_ACCESS_KEY=…
S3_BACKUP_BUCKET=agentes-backups
COMPOSE_PROFILES=tailscale,backup
```

Затем выполните `docker compose up -d` в папке установки. Дамп базы делается в 03:00 UTC, и каждый хранится 14 дней. `docker compose run --rm backup now` делает дамп сразу, а `docker compose run --rm backup list` показывает список. В дампах только база: загруженным файлам в томе `files` нужна своя копия, команды для неё есть в полном руководстве ниже.

Чтобы восстановить, скачайте дамп командой `docker compose run --rm -T backup fetch <имя> > agentes.dump`, а затем загрузите его в пустую базу при остановленном приложении:

```
docker compose stop agentes
docker compose exec -T postgres dropdb -U agentes --force agentes
docker compose exec -T postgres createdb -U agentes agentes
docker compose exec -T postgres pg_restore -U agentes -d agentes --exit-on-error < agentes.dump
docker compose start agentes
```

Восстанавливайте в ту версию, которая сделала дамп, или в более новую.

## Обновления

В папке установки выполните:

```
curl -fsSLO https://agentes.chat/install/docker-compose.yml
docker compose pull
docker compose up -d
```

База обновляется сама, когда запускается новая версия. Держите настройки в `.env` и никогда не правьте `docker-compose.yml`: каждое обновление его заменяет. Перед большим скачком сделайте копию: базу, которую обновила более новая версия, старая не откроет.

## Что он отправляет

Раз в день сервер отправляет agentes.chat анонимную статистику использования: числа вроде количества людей, агентов, размеров машин, потраченных токенов ИИ и объёма данных, которые отправляют и получают браузеры агентов. Никогда сообщения, файлы, имена или сайты. `docker compose run --rm agentes telemetry` показывает ровно то, что будет отправлено. Владелец отключает это в **Настройки › Общие** или через `TELEMETRY=off` в `.env`.

Отчёты об ошибках никуда не уходят, пока вы не укажете в `SENTRY_DSN` совместимый с Sentry сервер по своему выбору. В отчёте есть ошибка и место, где она случилась, но никогда сообщения, адреса почты, IP-адреса, cookie или токены.

## Полное руководство

Все настройки, собственный прокси вроде nginx, запуск без Docker, сценарий для агентов ИИ, которые устанавливают его сами, и что делать, если что-то не работает, описаны в `SELF_HOSTING.md`, в репозитории agentes.chat.
