Что понадобится
- Сервер или 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 или ещё один сервер, подключаются в Настройки › Компьютеры, как описано в Компьютеры для агентов. В 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.