Установка Hermes Agent на VPS за 5 долларов
Для работы Hermes Agent не требуется GPU, так как модель запускается отдельно. Используйте выделенного пользователя, директиву ProtectSystem=strict и настройте IPv6 в UFW.
Что такое Hermes Agent
Hermes Agent — это self-hosted AI-агент от Nous Research, выпущенный в феврале 2026 года. Вы запускаете его на собственном сервере, где он поддерживает постоянную память о ваших проектах, самостоятельно пишет переиспользуемые навыки в процессе работы и взаимодействует с вами через чат-приложения, такие как Telegram и Discord. Агент не привязан к конкретной модели, поэтому вы можете подключить любую языковую модель по своему выбору. Он достаточно легковесен, чтобы работать на VPS за 5 долларов, в Docker или через SSH. Такое разделение, при котором модель работает отдельно, а цикл выполнения, инструменты и память — на вашем узле, делает Hermes инструментальной средой для агента, а не просто моделью. Именно поэтому для его работы достаточно небольшого сервера.
Как и любой агент, он ценен тем, что действует от вашего имени, поэтому настраивать его нужно внимательно. Агент, который запоминает, обучается и выполняет задачи, — это постоянно работающий процесс с реальным доступом к вашему серверу. В этом руководстве описана безопасная установка, а применяемые здесь методы защиты аналогичны тем, что используются для безопасного запуска OpenClaw.
Установка одной командой и почему сначала нужно прочитать скрипт
Hermes устанавливается одной командой:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashЭто удобно, но данному подходу стоит следовать осознанно. Передача скрипта из интернета напрямую в оболочку (pipe) приводит к выполнению всего содержимого скрипта от имени пользователя, который его запустил. Перед запуском на реальном сервере сначала скачайте скрипт, изучите его содержимое и выполните его от имени отдельного пользователя, а не root:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.shДело не в недоверии к Hermes. Это привычка, которая не позволяет любой установке curl | bash незаметно стать самым слабым звеном в вашей инфраструктуре.
Запуск от имени непривилегированного пользователя
Запускайте Hermes от имени отдельной системной учетной записи, а не от root. Это предотвратит доступ к остальной части системы в случае ошибки или выполнения вредоносной инструкции. Создайте пользователя без доступа к командной оболочке:
sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermesУстановите Hermes в /opt/hermes и назначьте владельцем этого каталога соответствующую учетную запись. Официальный установщик выполняет установку для пользователя, который его запускает. Поэтому запустите загруженный скрипт от имени пользователя hermes, например sudo -u hermes bash hermes-install.sh. Файлы будут размещены в его домашнем каталоге, а не в вашем. Причина та же, что и при запуске сервисов от имени непривилегированного пользователя: учетная запись, от имени которой работает агент, определяет предел возможного ущерба. Учетная запись операционной системы описывает только часть ситуации. Собственные настройки агента определяют, какие действия он выполняет без предварительного запроса. Именно это важно при выборе режимов разрешений Claude Code, если агент работает на сервере, перед которым вы не находитесь. Если со временем серверу потребуется обслуживать не только вас, OneCLI распространяет идею отдельной учетной записи для каждого агента на всю команду, предоставляя каждому пользователю собственный изолированный агент, а ключи модели остаются в одном шлюзе, откуда их не требуется копировать.
Настройка межсетевого экрана и защита секретов
Hermes выполняет свои задачи, обращаясь к модели и подключенным чат-приложениям, поэтому ему не нужно принимать входящие соединения из Интернета. Установите межсетевой экран с политикой default-deny перед сервером:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableСледите за пробелом в IPv6 firewall, поскольку набор правил, охватывающий только IPv4, может оставить сервис доступным по IPv6. Если агенту действительно нужно обращаться к ресурсу, который существует только в вашей домашней сети, например к NAS или локальной базе данных, реклама этой сети в tailnet с помощью subnet router обеспечит доступ к нему через исходящее соединение, а не через открытый входящий порт. Храните ключ API модели и любые chat tokens в файле, который может читать только пользователь hermes (режим 600), и загружайте его в сервис вместо вставки в командную строку, где он попадёт в историю shell. Такой файл секретов представляет собой такую же небольшую, но важную цель, как admin token за self-hosted password manager, поэтому вывод из проверки защиты Vaultwarden применим и здесь: защищайте единственный файл, открывающий доступ ко всему остальному, и так же тщательно защищайте его резервные копии. Права доступа к файлам защищают от других пользователей системы, но не от провайдера, который предоставляет базовую инфраструктуру. Если ключи агента достаточно чувствительны, чтобы изменить эту оценку рисков, зашифрованная память и аттестация определяют, сможет ли hosting company извлечь их из RAM.
Запуск Hermes в качестве защищенного сервиса systemd
Юнит systemd обеспечивает работу Hermes после выхода из системы и перезагрузки, перезапускает процесс в случае сбоя и позволяет добавить изоляцию на уровне ядра, ограничивающую доступ приложения к ресурсам. Включите NoNewPrivileges, ProtectSystem=strict, PrivateTmp и ProtectHome, чтобы локализовать последствия возможного взлома.
Создайте защищенный юнит здесь, а затем скопируйте его в /etc/systemd/system/hermes.service. Юнит запускает hermes gateway — постоянно работающий процесс, который подключает ваши чат-приложения. После установки выполните hermes --help, чтобы подтвердить корректность команды и пути к бинарному файлу в вашей версии перед включением сервиса:
Директивы, а также шаги daemon-reload и enable --now описаны в запуске программы как сервиса systemd:
sudo systemctl daemon-reload
sudo systemctl enable --now hermesДля рабочего примера той же схемы с другим агентом обратитесь к разделу запуск dsh без интерфейса под управлением systemd: в нём подробнее разобраны правила Restart и команды journalctl, которые понадобятся при первом ночном отказе сервиса. Ещё лучше не ждать утра, чтобы узнать о проблеме: юнит OnFailure=, который отправляет уведомление на собственный сервер ntfy, сразу передаст сообщение на телефон, когда Hermes прекратит попытки перезапуска.
Если вы предпочитаете, чтобы systemd управлял контейнером, а не нативной установкой, в поддержании работы KiroCrew в виде закрепленного контейнера описан способ достижения того же результата с автозапуском после перезагрузки при фиксации версии образа.
Укрепление защиты сервера
Завершите настройку, укрепив «входную дверь». Переведите SSH на аутентификацию только по ключам и отключите вход для root, как описано в укреплении защиты SSH на VPS, чтобы злоумышленники не могли подобрать пароль к учётной записи, которую вы используете для управления сервером. Агент, обладающий постоянной памятью, нуждается в защите, а самый простой способ — убедиться, что никто не может войти на сервер, где он работает.
Как только сервер защищён, следующей полезной возможностью обычно становится веб-поиск. Подключение агента к собственному экземпляру SearXNG позволяет выполнять запросы локально, хотя и ценой обработки страниц, которые никто не проверял. Hermes редко бывает единственным агентом на сервере. Если вы также используете Claude Code, два сеанса могут передавать задачи друг другу напрямую, не пропуская каждое действие через вас. Если следующий агент, которого вы добавите, предназначен для анализа кода, а не для чатов, запуск сканеров безопасности open-kritt на том же сервере следует той же логике: зафиксированный релиз, отдельная учётная запись и веб-интерфейс, доступный через SSH-туннель, а не через открытый порт.
Если вы предпочитаете разобраться в устройстве системы, а не просто запускать готового агента, создание собственного AI-агента на VPS поможет сделать это шаг за шагом. Если терминология в этом руководстве пока нова для вас, поэтапный путь изучения AI-агентов поможет освоить циклы, инструменты, память и безопасность в порядке их усложнения. Тогда решения, которые Hermes принимает за вас, перестанут казаться магией.
FAQ
Можно ли запустить Hermes Agent на дешевом VPS?
Да. Hermes спроектирован для работы на небольшом сервере, и VPS за 5 долларов достаточно для персонального постоянно работающего агента. Он обращается к языковой модели и вашим чат-приложениям, а не обслуживает тяжелый трафик, поэтому потребляет мало ресурсов. Выделите для него отдельного пользователя, настройте firewall и systemd-сервис, и небольшой VPS легко справится с этой задачей. Если у вас уже есть домашний сервер, сначала сравните его аппаратные возможности и затраты на электроэнергию с ежемесячной платой, так как домашний Proxmox и арендованный VPS имеют свои преимущества в разных ситуациях.
Безопасно ли запускать скрипт установки в одну строку?
Установка через curl | bash удобна, но правильная привычка — скачать скрипт, прочитать его перед запуском и выполнять от имени выделенного пользователя, а не root. Таким образом, установщик, переданный через pipe, от любого проекта не сможет сделать больше, чем позволяет этот ограниченный аккаунт. Это не относится конкретно к Hermes; это общепринятая практика для любой подобной установки.
Как запустить Hermes без прав root?
Создайте выделенного системного пользователя без доступа к оболочке входа, установите Hermes в директорию, владельцем которой является этот пользователь, например /opt/hermes, и запускайте сервис от имени этого аккаунта. Если агент будет скомпрометирован, ущерб будет ограничен тем, к чему имеет доступ эта учетная запись.
Как сделать, чтобы Hermes продолжал работать после выхода из системы?
Запустите его как systemd-сервис. Unit-файл запускает Hermes при загрузке системы, перезапускает его в случае сбоя и поддерживает работу после завершения вашей SSH-сессии, в то время как опции песочницы systemd ограничивают доступ процесса к ресурсам. Создайте защищенный unit с помощью инструмента выше и включите его командой systemctl enable --now hermes.
Нужен ли Hermes Agent графический процессор (GPU)?
Нет. Hermes — это среда выполнения агента, а не сама языковая модель, поэтому он отлично работает на небольшом VPS только с CPU. Тяжелые вычисления происходят там, где запущена модель, что обычно является внешним API, к которому вы подключаетесь. Если вы также хотите разместить модель на том же сервере, подбирайте характеристики машины под требования модели, а не самого Hermes. Для хостинга моделей только на CPU актуальны цифры из руководства по Ollama.