Перейти к содержимому
Главная страница » Полное руководство по развертыванию Hermes Agent в Docker

Полное руководство по развертыванию Hermes Agent в Docker

Hermes Agent — это открытый автономный AI-агент от Nous Research, способный планировать задачи, генерировать код, работать с терминалом и автоматизировать браузер. Docker-развертывание избавляет от проблем с окружением и позволяет быстро начать работу.

Содержание

1. Требования

Системные требования

ПараметрМинимумРекомендуется
ОСLinux / Windows 10+ / macOSUbuntu 22.04+
CPU2 ядра4 ядра
RAM4 GB8 GB+
Диск10 GB20 GB+
Docker20.10+24.0+
Если, вы приобретаете сервер с Docker, то этот раздел по установке Docker можно пропустить.

Установка Docker

Linux (автоматическая установка с зеркалами):

bash

bash <(wget -qO- https://get.docker.com)

Проверка установки:

bash

docker version

2. Быстрое развертывание (5 минут)

Я устанавливаю hermes на vps/vds сервер с Ubuntu 20.04, мои скрины будут только для команд Linux.

2.1 Создание директории для данных

Linux / Mac:

bash

mkdir -p ~/.hermes

Windows (PowerShell):

powershell

mkdir C:\Users\ТвоеИмя\hermes

2.2 Загрузка образа

bash

docker pull nousresearch/hermes-agent:latest

2.3 Запуск мастера настройки

Linux / Mac:

bash

docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent:latest setup

Windows (PowerShell):

powershell

docker run -it --rm `
  -v C:\Users\ТвоеИмя\hermes:/opt/data `
  nousresearch/hermes-agent:latest setup

2.4 Что отвечать в мастере

Выберите режим инициализации

  • Выберите Quick setup — provider, model & messaging

    Консоль каждую секунду проверяет, не подтвердил ли ты вход через браузер.

    Я выбрал авторизацию через GitHub, можно через Google или email.

    Выберите провайдера модели

    • OpenAI / Anthropic / DeepSeek / Nous Portal (бесплатно)

    Так, как на балансе нет средств система не дает выбрать платные модели.

    Я выбрал stepfun/step-3.7-flash:free, китайская модель от компании StepFun. Версия 3.7 (особенно «Flash») считается очень сильной и быстрой. По многим бенчмаркам (тестам на логику и код) она превосходит или как минимум сопоставима с более старыми платными моделями. Это лучший бесплатный вариант из представленных.

    Select terminal backend:

    Выбираем Docker

    Установщик спрашивает, хотите ли вы включить защиту (межсетевой экран) для исходящего трафика (egress firewall), чтобы обезопасить работу с API-ключами.

    Если сказать совсем просто: он может спрятать ваши реальные ключи от API (например, от OpenAI или Anthropic) от кода, который будет запускаться в Docker-контейнере. Вместо настоящего ключа контейнер получит временный токен-посредник.

    Нажмите y (Yes) и Enter — РЕКОМЕНДУЮ (безопасно)

    Плюсы: Это безопасно. Ваши реальные ключи не попадут внутрь изолированного окружения Docker. Если в коде, который вы запускаете, есть вредоносная логика, она не сможет украсть ваш API-ключ.


    Подключение мессенджера

    • Для локального теста выберите Skip — set up later

      После появления ✓ Setup Complete! настройка завершена.

      Даже после попытки выбора Telegram в качестве мессенджера, система все равно проигнорировала выбор, потому подключим его чуть позже.

      2.5 Запуск и общение

      bash

      docker run -it --rm \
        -v ~/.hermes:/opt/data \
        nousresearch/hermes-agent:latest

      Появится приветствие. Можно начинать:

      text

      Welcome to Hermes Agent!
      Type your message or /help for commands
      
      > Привет
      > Создай Python-скрипт для мониторинга загрузки CPU

      3. Полная настройка

      3.1 Фоновый режим (Gateway)

      Выйдем из Hermes Ctrl + C и запустим его в фоне.

      Для постоянной работы на сервере:

      bash

      docker run -d \
        --name hermes \
        --restart unless-stopped \
        -v ~/.hermes:/opt/data \
        nousresearch/hermes-agent:latest \
        gateway run

      3.2 Подключение Telegram / Discord

      Войти в контейнер и настроить:

      bash

      docker exec -it hermes hermes setup gateway

      По инструкции выбрать мессенджер и ввести токен бота.

      3.3 Смена модели

      bash

      docker exec -it hermes hermes model

      3.4 Проверка состояния

      bash

      docker exec -it hermes hermes doctor

      4. Production-развертывание (Docker Compose + WebUI)

      4.1 Структура директорий

      bash

      mkdir -p ~/hermes/{data,webui-data}
      cd ~/hermes

      4.2 Создание docker-compose.yml

      yaml

      version: '3.8'
      
      services:
        # Основной сервис Hermes Agent
        hermes:
          image: nousresearch/hermes-agent:latest
          container_name: hermes
          restart: unless-stopped
          command: gateway run
          volumes:
            - ./data:/opt/data
          expose:
            - "8642"
          healthcheck:
            test: ["CMD", "hermes", "doctor"]
            interval: 30s
            timeout: 10s
            retries: 3
      
        # Веб-интерфейс (опционально)
        hermes-webui:
          image: nesquena/hermes-webui:latest
          container_name: hermes-webui
          restart: unless-stopped
          ports:
            - "3001:8787"
          environment:
            - HERMES_WEBUI_STATE_DIR=/app/data
          volumes:
            - ./webui-data:/app/data
          depends_on:
            - hermes

      4.3 Запуск

      bash

      docker compose up -d

      4.4 Доступ к веб-интерфейсу

      Откройте в браузере: http://localhost:3001

      Если сервер удалённый — не забудьте открыть порт 3001 в фаерволе.

      4.5 Обновление до новой версии

      bash

      docker compose pull
      docker compose up -d

      5. Полезные команды

      Управление контейнером

      ДействиеКоманда
      Просмотр логовdocker logs -f hermes
      Остановкаdocker stop hermes
      Запуск после остановкиdocker start hermes
      Перезапускdocker restart hermes
      Вход в контейнерdocker exec -it hermes bash
      Удаление контейнераdocker rm -f hermes

      Команды внутри Hermes

      КомандаЧто делает
      hermes setupПолный мастер настройки
      hermes setup modelСменить модель
      hermes setup gatewayНастроить мессенджер
      hermes doctorДиагностика системы
      hermesЗапуск CLI
      /helpСправка в CLI
      /exitВыход из CLI

      Работа с данными

      bash

      # Резервное копирование
      tar -czf hermes-backup.tar.gz ~/.hermes
      
      # Восстановление
      tar -xzf hermes-backup.tar.gz -C ~/

      6. Настройка безопасности

      6.1 Включение подтверждения команд

      Отредактируйте ~/.hermes/config.yaml:

      yaml

      approvals:
        mode: manual    # manual — вручную | smart — умный | off — выкл
        timeout: 60

      6.2 Ограничение доступа в Telegram

      yaml

      gateway:
        telegram:
          allowed_user_ids:
            - 123456789  # ID твоего Telegram

      Как узнать свой Telegram ID: напишите @userinfobot любое сообщение.

      6.3 Закрытие портов (если нужен только мессенджер)

      bash

      sudo ufw deny 8642   # API шлюза
      sudo ufw deny 9119   # Dashboard

      7. Частые проблемы и их решение

      🔴 Не качается образ

      Решение: Укажите конкретную версию

      bash

      docker pull nousresearch/hermes-agent:latest
      # Или используйте зеркало
      docker pull ghcr.io/nousresearch/hermes-agent:latest

      🔴 Контейнер постоянно перезапускается

      Причина: проблемы с правами или конфигурацией

      Решение:

      bash

      # Проверить логи
      docker logs hermes
      
      # Исправить права
      sudo chown -R 1000:1000 ~/.hermes

      🔴 API не отвечает

      Причина: неверный API Key или настройки модели

      Решение:

      bash

      docker exec -it hermes hermes setup model
      # Ввести новый API Key

      🔴 WebUI не открывается

      Решение:

      1. Убедитесь, что порт 3001 не занят:bashnetstat -tlnp | grep 3001
      2. Проверьте фаервол:bashsudo ufw allow 3001
      3. Перезапустите WebUI:bashdocker compose restart hermes-webui

      🔴 Ошибка «address already in use»

      Решение: Остановите старый контейнер

      bash

      docker rm -f hermes
      # Затем повторите запуск

      Шпаргалка

      СценарийКоманда
      Первая настройкаdocker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest setup
      Интерактивный режимdocker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest
      Фоновый режимdocker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest gateway run
      Поменять модельdocker exec -it hermes hermes model
      Посмотреть логиdocker logs -f hermes
      Войти в контейнерdocker exec -it hermes bash

      Теперь у вас есть полностью работающий Hermes Agent в Docker. Начните с простых задач, например: «Напиши bash-скрипт для бэкапа папки» или «Объясни, как настроить firewall». Удачи в использовании автономного AI-агента! 🚀

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *