Серверы

Сервер — управляемая Linux-машина, на которой MultiAgent разворачивает агентов и инструменты. Всё управление идёт по SSH: MultiAgent выполняет команды, передаёт файлы и читает статусы контейнеров, не требуя на сервере ничего, кроме базовой системы.

Добавление сервера

Кнопка «Добавить сервер» открывает форму: имя, хост, SSH-порт, пользователь и аутентификация — пароль или приватный PEM-ключ. Для соединений через бастион настраивается proxy jump: отдельные хост, порт, пользователь и учётные данные прыжка.

После сохранения доступен статус соединения: не проверено, OK или ошибка. Кнопка «Проверить подключение» выполняет тест с real-time выводом каждого шага проверки в интерфейс.

Onboarding-проверки

Для каждого сервера MultiAgent прогоняет набор onboarding-проверок и подсвечивает, что готово, а что требует внимания:

  • SSH — доступность подключения;
  • Docker — установлен ли и запущен ли демон;
  • daemon.json — корректность конфигурации Docker;
  • Папки — наличие папок для агентов, данных, проектов и инструментов;
  • Postgres — общий Postgres-инстанс для агентов;
  • Forgejo — встроенный Git-сервер;
  • Бэкапы — rsyncd-контейнер для резервного копирования.

Установка Docker

Если Docker на сервере отсутствует, MultiAgent установит его сам — одной кнопкой, с потоковым выводом команд в интерфейс. Там же можно отредактировать /etc/docker/daemon.json (например, зеркала реестра или логирование) — MultiAgent применит файл и перезапустит демон.

Для образов из частного реестра на сервере настраивается Registry Auth: пользователь и токен реестра, которые MultiAgent использует при pulling образов агентов и инструментов.

Папки сервера

MultiAgent хранит файлы агентов в четырёх папках сервера — все настраиваются, значения по умолчанию:

  • Папка агентов/root/agents: по подпапке на каждого агента с его compose.yml;
  • Папка данных/root/data: данные агентов, у каждого своя подпапка, монтируется внутрь контейнера в /data;
  • Папка проектов/root/projects: git-репозитории агентов, монтируются в /project;
  • Папка инструментов/root/tools: файлы сервисов, развёрнутых из библиотеки инструментов.

Единая структура папок упрощает бэкапы: все данные всех агентов сервера лежат в одном дереве каталогов.

Общий Postgres

Вместо отдельной SQLite-базы у каждого агента можно поднять общий Postgres на сервере: MultiAgent развернёт docker-compose инстанс (по умолчанию порт 5436), сохранит пароль и проверит соединение. Для агентов с включённым Postgres в их окружение автоматически подставляется строка подключения AGENT_DATABASE.

Git-сервер Forgejo

MultiAgent разворачивает на сервере Forgejo — self-hosted Git-сервер (по умолчанию порт 3200) с выделенным admin-пользователем. Для каждого агента можно привязать существующий репозиторий или создать новый; SSH-ключи для доступа MultiAgent выпускает и хранит сам. Подробнее — в разделе Агенты.

Резервное копирование

Onboarding устанавливает на сервер rsyncd-контейнер с пятью read-only модулями, покрывающими все папки: агенты, данные, проекты, инструменты и Forgejo. Бэкапы забираются с сервера вашими клиентскими машинами по rsync — например, nightly-заданием на машине с бэкап-хранилищем:

rsync -avz rsync://backup@server-host:873/data/ /backups/server-host/data/

Шаблон URL агентов

Чтобы MultiAgent знал, как открывать веб-интерфейсы агентов (за reverse proxy или SSH-туннелем), на сервере настраивается шаблон URL с плейсхолдерами {slug}, {host} и {port}:

https://{slug}.agents.example.com

Файловый менеджер

У каждого сервера есть встроенный файловый менеджер: просмотр дерева каталогов, чтение и редактирование файлов, загрузка и скачивание, подсчёт токенов текстовых файлов. Это позволяет поправить конфиг или посмотреть логи на сервере, не покидая MultiAgent.

← Оглавление документации