{"id":146279,"date":"2026-04-24T13:44:37","date_gmt":"2026-04-24T13:44:37","guid":{"rendered":"\/tutorials\/?p=146279"},"modified":"2026-07-29T09:17:37","modified_gmt":"2026-07-29T09:17:37","slug":"how-to-set-up-hermes-agent","status":"publish","type":"post","link":"\/tutorials\/how-to-set-up-hermes-agent\/","title":{"rendered":"How to set up Hermes Agent (managed or self-hosted)"},"content":{"rendered":"<p class=\"wp-block-paragraph\">You can set up Hermes Agent in two ways: use a managed plan that handles the server and maintenance for you, or self-host it with Docker on a virtual private server (VPS). The managed option is quicker and requires less technical work, while self-hosting gives you more control over the agent&rsquo;s infrastructure, models, memory, and tools.<\/p><p class=\"wp-block-paragraph\">Hermes Agent is an always-on AI agent that learns from your interactions and turns successful workflows into reusable skills. Once it completes a task, it can use what it learned to handle similar requests more effectively in the future.<\/p><p class=\"wp-block-paragraph\">This guide covers both Hermes Agent setup methods, starting with the managed option. You&rsquo;ll learn how to:<\/p><ul class=\"wp-block-list\">\n<li>Choose between managed and self-hosted Hermes Agent.<\/li>\n\n\n\n<li>Set up Managed Hermes Agent and connect an AI provider.<\/li>\n\n\n\n<li>Add a messaging channel and test your managed agent.<\/li>\n\n\n\n<li>Prepare a VPS and deploy Hermes Agent with Docker.<\/li>\n\n\n\n<li>Configure models, gateways, and tools.<\/li>\n\n\n\n<li>Test and secure your self-hosted deployment.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-choose-how-to-set-up-hermes-agent\">Choose how to set up Hermes Agent<\/h2><p class=\"wp-block-paragraph\">You can run Hermes Agent as a managed service or self-host it on a VPS. The best option depends on how much control you need and how much server maintenance you want to handle.<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Factor<\/th><th>Managed Hermes Agent<\/th><th>Self-hosted Hermes Agent<\/th><\/tr><tr><td>Setup<\/td><td>Guided setup with no manual server deployment<\/td><td>Manual VPS and Docker configuration<\/td><\/tr><tr><td>Technical knowledge<\/td><td>Suitable for beginners<\/td><td>Requires experience with Linux, Docker, and server management<\/td><\/tr><tr><td>Maintenance<\/td><td>Server updates, infrastructure, and core security are handled for you<\/td><td>You manage updates, backups, firewall rules, and container health<\/td><\/tr><tr><td>Control<\/td><td>Less control over the underlying infrastructure<\/td><td>Full control over the server, models, memory, tools, and configuration<\/td><\/tr><tr><td>Best for<\/td><td>Users who want to start quickly and avoid server administration<\/td><td>Developers and advanced users who need a custom setup<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">Choose Managed Hermes Agent when you want the quickest setup and don&rsquo;t need direct control over the server. Choose the self-hosted option when you need more flexibility and are comfortable maintaining a VPS.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-self-host-hermes-agent-with-docker\">How to self-host Hermes Agent with Docker<\/h2><p class=\"wp-block-paragraph\">Self-hosting Hermes Agent with Docker gives you full control over the server, models, memory, and tools, but you&rsquo;ll need to manage the deployment, updates, and security yourself. Follow the steps below to install and configure Hermes Agent on a VPS.<\/p><h3 class=\"wp-block-heading\">1. Prepare your VPS environment<\/h3><p class=\"wp-block-paragraph\">To run<a href=\"\/tutorials\/what-is-hermes-agent\/\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/tutorials\/what-is-hermes-agent\/\" data-wpel-link=\"internal\" rel=\"follow\">Hermes Agent<\/a>, you need a server with a Linux distribution (Ubuntu works best), plus root access and a stable internet connection.<\/p><p class=\"wp-block-paragraph\">Aim for a VPS plan with at least <strong>2 CPU cores<\/strong> and <strong>8 GB of RAM<\/strong>. This setup handles Docker isolation and the gateway process comfortably. The container itself uses around 1 GB of RAM, or 2&ndash;4 GB if you enable browser automation.<\/p><p class=\"wp-block-paragraph\">After purchasing your VPS, connect to it via SSH and update your system packages:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update &amp;&amp; sudo apt upgrade -y<\/pre><p class=\"wp-block-paragraph\">This helps prevent dependency conflicts when installing Docker and Hermes Agent&rsquo;s components.<\/p><p class=\"wp-block-paragraph\">You should also secure and<a href=\"\/tutorials\/how-to-set-up-vps\/\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/tutorials\/how-to-set-up-vps\/\" data-wpel-link=\"internal\" rel=\"follow\">prepare your VPS<\/a>. Create a dedicated user, adjust permissions, and enable public key authentication for safer access.<\/p><h3 class=\"wp-block-heading\">2. Deploy Hermes Agent with Docker<\/h3><p class=\"wp-block-paragraph\">Docker packages Hermes Agent and all its dependencies into a single container, so you don&rsquo;t need to install Python or Node.js or manually configure environment variables.<\/p><p class=\"wp-block-paragraph\">There are a few ways to get it running, depending on your setup.<\/p><p class=\"wp-block-paragraph\">If you don&rsquo;t have a VPS yet, the fastest and easiest option is to use<a href=\"\/vps\/docker\/hermes-agent\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/vps\/docker\/hermes-agent\" data-wpel-link=\"internal\" rel=\"follow\">Hostinger&rsquo;s Hermes Agent<\/a> template. Choose your preferred plan, complete the payment, and the system installs everything automatically.<\/p><p class=\"wp-block-paragraph\">During setup, you&rsquo;ll create a username and password to access the Hermes Agent web terminal.<\/p><p class=\"wp-block-paragraph\">Once the installation finishes, you&rsquo;ll land in the <strong>Docker Manager<\/strong>, where Hermes Agent appears as a Docker project. Click <strong>Open<\/strong> next to it, then log in using the credentials you created earlier.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c713cc2\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c713cc2\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419372-0.png\" alt=\"The Open button to access the Hermes Agent web terminal via hPanel\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">If you already own a Hostinger VPS, you can deploy Hermes Agent from hPanel. Go to <strong>VPS &rarr; OS &amp; Panel &rarr; Operating System &rarr; Change OS<\/strong>, search for <strong>Hermes Agent<\/strong>, and select it to start the installation.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c714145\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c714145\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419379-1.png\" alt=\"The Hermes Agent Docker application template in hPanel\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">When the installation finishes, go to <strong>Docker Manager &rarr; Projects<\/strong> and open the Hermes Agent web terminal the same way.<\/p><p class=\"wp-block-paragraph\">If you&rsquo;re using a different VPS provider,<a href=\"\/tutorials\/how-to-install-docker-on-ubuntu\/\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/tutorials\/how-to-install-docker-on-ubuntu\/\" data-wpel-link=\"internal\" rel=\"follow\">install Docker<\/a> first. Once it&rsquo;s ready, create a data directory for Hermes Agent and open it:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p ~\/.hermes\n\ncd ~\/.hermes<\/pre><p class=\"wp-block-paragraph\">Then deploy the Hermes Agent container:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -it --rm \\\n\n-v ~\/.hermes:\/opt\/data \\\n\nnousresearch\/hermes-agent setup<\/pre><p class=\"wp-block-paragraph\">The <strong>-v ~\/.hermes:\/opt\/data<\/strong> flag mounts a host directory to the container&rsquo;s data path. Hermes Agent stores its configuration files, API keys, sessions, <a href=\"\/tutorials\/what-are-hermes-agent-skills\/\">skills<\/a>, and memory in this directory.<\/p><figure class=\"wp-block-image size-large\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-hermes-agent\" href=\"\/applications\/hermes-agent\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-150404\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><h3 class=\"wp-block-heading\">3. Run the setup wizard<\/h3><p class=\"wp-block-paragraph\">After you access the web terminal or run the container, the Hermes Agent setup wizard launches automatically. It asks how you want to configure the agent.<\/p><p class=\"wp-block-paragraph\">It offers two paths:<\/p><ul class=\"wp-block-list\">\n<li><strong>Quick setup<\/strong>. Covers the provider, model, and messaging. This is the best option for most users.<\/li>\n\n\n\n<li><strong>Full setup<\/strong>. Adds terminal backend selection, agent behavior settings, tool toggles, and persona configuration.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">We&rsquo;ll use <strong>Quick setup<\/strong> here. You can configure everything else later, so nothing is locked in. The wizard walks you through these steps:<\/p><ol class=\"wp-block-list\">\n<li><strong>Select an LLM provider<\/strong>. Choose from OpenRouter, Anthropic, OpenAI, Nous Portal, Ollama, or a custom endpoint.<\/li>\n<\/ol><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c71656d\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c71656d\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419386-2.png\" alt=\"The Select provider step in the Hermes Agent setup wizard\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Enter your API key<\/strong>. Paste the key for your chosen provider.<\/li>\n\n\n\n<li><strong>Choose a model<\/strong>. Select one from the available models for your chosen provider.<\/li>\n<\/ol><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c716f78\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c716f78\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419394-3.png\" alt=\"The available models from DeepSeek in the Hermes Agent setup wizard\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Connect a messaging platform<\/strong>. Choose Telegram, Discord, Slack, WhatsApp, or another platform. You can skip this for now and test the CLI chat first.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Hermes Agent stores sensitive data, such as API keys, in <strong>~\/.hermes\/.env<\/strong>, while non-sensitive data goes in <strong>~\/.hermes\/config.yaml<\/strong>.<\/p><h3 class=\"wp-block-heading\">4. Verify Hermes Agent is running<\/h3><p class=\"wp-block-paragraph\">To verify that Hermes Agent is running correctly after the setup wizard, start a CLI session and check if the agent can communicate with your selected model:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hermes<\/pre><p class=\"wp-block-paragraph\">You should see a welcome banner with the selected model, available tools, and loaded skills.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c7176f8\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c7176f8\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419402-4.png\" alt=\"The Hermes Agent CLI welcome banner\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Test it with a prompt that triggers a tool, like &ldquo;What&rsquo;s in my current directory?&rdquo; This confirms the agent can respond and execute commands.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c717bf1\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c717bf1\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419407-5.png\" alt=\"The Hermes Agent CLI chat output\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">To exit the session, type <strong>\/exit<\/strong>. Use <strong>hermes <\/strong>to start a new session, or resume the last one with <strong>hermes &ndash;continue<\/strong>.<\/p><p class=\"wp-block-paragraph\">If the agent returns empty responses or connection errors, the most common cause is an incorrect API key or a misconfigured provider.<\/p><p class=\"wp-block-paragraph\">Run <strong>hermes setup<\/strong> again to reconfigure your provider and API key. Alternatively, use the <strong>hermes doctor<\/strong> command to scan your entire setup and identify the issue.<\/p><h3 class=\"wp-block-heading\">5. Configure other models, gateway, and tools<\/h3><p class=\"wp-block-paragraph\">Once the CLI chat works, you can add another model, connect a messaging platform, and configure the tools your workflow needs.<\/p><p class=\"wp-block-paragraph\">To add a new LLM provider alongside the one you set up earlier, run <strong>hermes model<\/strong>. It walks you through provider selection and API key entry, just as the setup wizard does.<\/p><p class=\"wp-block-paragraph\">Once you have multiple providers configured, switch between them during a session with the <strong>\/model<\/strong> command inside the chat.<\/p><p class=\"wp-block-paragraph\">The messaging gateway lets you talk to Hermes Agent through platforms like Telegram, Discord, Slack, WhatsApp, Signal, or email instead of the CLI.<\/p><p class=\"wp-block-paragraph\">Use <strong>hermes gateway setup<\/strong> to connect your preferred platform, then follow the on-screen instructions.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c718a52\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c718a52\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419421-6.png\" alt=\"The Select a platform configuration menu for Hermes Agent\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">After setup, run <strong>hermes gateway run<\/strong> to start the bot. Otherwise, it stays configured but inactive.<\/p><p class=\"wp-block-paragraph\">Hermes Agent also includes built-in tools like terminal execution, web search, file system access, and image generation. Open the tool list with <strong>hermes tools<\/strong>, then toggle each tool on or off based on your needs.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c7191c6\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c7191c6\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419430-7.png\" alt=\"The tools for CLI menu for Hermes Agent\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Note that some tools, like web search and image generation, require their working API keys.<\/p><h3 class=\"wp-block-heading\">6. Secure your Hermes Agent setup<\/h3><p class=\"wp-block-paragraph\">Securing your Hermes Agent setup covers both the agent&rsquo;s built-in protections and server-level rules that limit outside access.<\/p><p class=\"wp-block-paragraph\">Hermes Agent comes with a <a href=\"\/tutorials\/hermes-agent-security\/\">security scanner<\/a> called Tirith. It checks every terminal command before execution. It&rsquo;s enabled by default and looks for risks like prompt injection, credential exfiltration, and SSH backdoor patterns.<\/p><p class=\"wp-block-paragraph\">If Tirith flags a command, you&rsquo;ll see a summary of the issue. You can approve or deny it using <strong>\/approve<\/strong> or <strong>\/deny<\/strong>. To control how approvals work, edit <strong>~\/.hermes\/config.yaml<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">approvals:\n\n   mode: manual    # manual | smart | off\n\n   timeout: 60 # seconds to wait for user response (default: 60)<\/pre><ul class=\"wp-block-list\">\n<li><strong>manual<\/strong>. Asks for approval before every potentially risky command.<\/li>\n\n\n\n<li><strong>smart<\/strong>. Approves low-risk operations automatically and prompts only for dangerous ones.<\/li>\n\n\n\n<li><strong>off<\/strong>. Disables all approval checks.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">The messaging gateway needs protection, too. In the same <strong>config.yaml<\/strong> file, add your user ID to the allowed list for each platform so only you can send commands to the bot.<\/p><p class=\"wp-block-paragraph\">Here&rsquo;s an example for Telegram:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">gateway:\n\n   telegram:\n\n      allowed_user_ids:\n\n         - 123456789<\/pre><p class=\"wp-block-paragraph\">Replace <strong>123456789<\/strong> with your actual Telegram user ID. You can get it by messaging <strong>@userinfobot<\/strong> on Telegram.<\/p><p class=\"wp-block-paragraph\">For other platforms like Slack or WhatsApp, replace <strong>telegram<\/strong> with the platform name and use the correct user ID format for that service.<\/p><p class=\"wp-block-paragraph\">On the network side, close ports <strong>8642<\/strong> (API server) and <strong>9119<\/strong> (dashboard) if you only use Hermes Agent through chat platforms. The gateway creates outbound connections, so it doesn&rsquo;t need inbound traffic:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw deny 8642\n\nsudo ufw deny 9119<\/pre><p class=\"wp-block-paragraph\">To stay up to date, pull the latest image and replace the running container:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull nousresearch\/hermes-agent:latest\n\ndocker rm -f hermes\n\ndocker run -d \\\n\n   --name hermes \\\n\n   --restart unless-stopped \\\n\n   -v ~\/.hermes:\/opt\/data \\\n\n   nousresearch\/hermes-agent gateway run<\/pre><p class=\"wp-block-paragraph\">All data lives in the mounted <strong>~\/.hermes<\/strong> volume, so nothing gets lost during updates.<\/p><p class=\"wp-block-paragraph\">For Hostinger VPS users, you can update the container directly from hPanel. In <strong>Docker Manager<\/strong>, find your Hermes Agent project, click the <strong>three-dot<\/strong> menu, and select <strong>Update<\/strong>.<\/p><div class=\"wp-block-image wp-block-image aligncenter size-large\">\n<figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6a7441c71a6fc\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7441c71a6fc\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2026\/04\/1777037419439-8.png\" alt=\"The Update menu for the Hermes Agent Docker container in hPanel\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Also,<a href=\"\/tutorials\/vps-security\/\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/tutorials\/vps-security\/\" data-wpel-link=\"internal\" rel=\"follow\">secure your VPS<\/a> by turning off root SSH login, configuring fail2ban to block repeated login attempts, and installing a malware scanner to detect threats.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-set-up-managed-hermes-agent\">How to set up Managed Hermes Agent<\/h2><p class=\"wp-block-paragraph\"><a href=\"\/managed-apps\">Managed Hermes Agent<\/a> lets you run Hermes without configuring a VPS or maintaining its Docker container yourself. Hostinger prepares the isolated environment and handles infrastructure updates and backend security, while you choose the AI model and how you want to access the agent.<\/p><h3 class=\"wp-block-heading\">1. Get a Managed Hermes plan<\/h3><p class=\"wp-block-paragraph\">Log in to hPanel and select <strong>Hermes<\/strong> from the left sidebar. You can also purchase a plan from the Hostinger Managed Hermes page.<\/p><p class=\"wp-block-paragraph\">Choose your subscription period and any optional features:<\/p><ul class=\"wp-block-list\">\n<li><strong>Ready-to-use AI<\/strong> provides nexos.ai credits for accessing models such as Claude, Gemini, and GPT without adding separate provider API keys.<\/li>\n\n\n\n<li><strong>Instant web search<\/strong> provides Oxylabs credits that Hermes can use to access and extract information from websites.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">You can skip the ready-to-use AI option if you prefer to connect your own AI provider with an API key.<\/p><h3 class=\"wp-block-heading\">2. Choose an AI provider<\/h3><p class=\"wp-block-paragraph\">During onboarding, select how Hermes will access an AI model. You can use the included nexos.ai integration or enter an API key from a supported external provider.<\/p><p class=\"wp-block-paragraph\">If you use your own provider, paste its API key when prompted. You&rsquo;ll select the specific model after Hostinger finishes preparing the application.<\/p><h3 class=\"wp-block-heading\">3. Open your Hermes application<\/h3><p class=\"wp-block-paragraph\">Wait while Hostinger deploys the Managed Hermes environment. Once the installation is complete, click <strong>Hermes<\/strong> to open the application.<\/p><p class=\"wp-block-paragraph\">You can also copy the <strong>Access key<\/strong>, which serves as the gateway token to access your Hermes instance. Store it securely and don&rsquo;t share it publicly.<\/p><h3 class=\"wp-block-heading\">4. Complete the initial setup<\/h3><p class=\"wp-block-paragraph\">In the Hermes setup window, review the options already configured and click <strong>Continue<\/strong>.<\/p><p class=\"wp-block-paragraph\">If you didn&rsquo;t select ready-to-use AI during checkout, enter your provider API key and choose a setup mode. Then, select the AI model you want Hermes to use.<\/p><p class=\"wp-block-paragraph\">The application password is configured automatically, so you can skip that step. Review your settings and finish the setup.<\/p><h3 class=\"wp-block-heading\">5. Connect a communication channel and test Hermes<\/h3><p class=\"wp-block-paragraph\">Connect a supported communication channel, such as Telegram, WhatsApp, or Hostinger Email, and follow the on-screen instructions to authorize it. You can then send a simple test message to confirm that Hermes can receive requests and respond through your selected model.<\/p><p class=\"wp-block-paragraph\">After setup, open <strong>Hermes &rarr; Manage<\/strong> in hPanel to change your AI provider or model, monitor credit usage, restart the application, view logs, or copy your access key.<\/p><h2 class=\"wp-block-heading\" id=\"h-common-mistakes-when-setting-up-hermes-agent\">Common mistakes when setting up Hermes Agent<\/h2><p class=\"wp-block-paragraph\">The most common mistakes when setting up Hermes Agent include adding features before testing the CLI chat, not mounting the data volume, using incorrect API credentials, skipping the gateway allowlist, and running commands directly on the host. These issues mainly affect self-hosted Docker deployments, as Managed Hermes Agent handles the server setup, infrastructure updates, and core security configuration for you.<\/p><ul class=\"wp-block-list\">\n<li><strong>Adding features before verifying the CLI chat<\/strong>. Connecting Telegram, enabling cron jobs, or integrating third-party services before confirming the CLI chat works makes troubleshooting harder. If something breaks, you won&rsquo;t know where the problem lies. Test the agent in the CLI first, confirm it responds and can use tools, then add other features.<\/li>\n\n\n\n<li><strong>Not mounting the data volume<\/strong>. If you run the container without <strong>-v ~\/.hermes:\/opt\/data<\/strong>, all data (memory, skills, and configuration) stays inside the container. When the container restarts, everything is lost. Always include the volume flag when running the container manually.<\/li>\n\n\n\n<li><strong>Using incorrect or expired API credentials<\/strong>. If the API key is wrong or expired, the agent can&rsquo;t communicate with the model. Double-check the key in your provider&rsquo;s dashboard or generate a new one. Then run <strong>hermes setup<\/strong> again to update it.<\/li>\n\n\n\n<li><strong>Skipping the gateway allowlist<\/strong>. If you set up a messaging bot without adding <strong>allowed_user_ids<\/strong> in <strong>config.yaml<\/strong>, anyone who finds your bot&rsquo;s username can interact with it. Add your user ID to the allowlist so only you can access it.<\/li>\n\n\n\n<li><strong>Leaving the default terminal backend on a VPS<\/strong>. By default, the agent runs terminal commands directly on your server. On a VPS, this can affect your entire system. Switch to a sandboxed container with <strong>hermes config set terminal.backend docker<\/strong> so commands run in an isolated environment.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-how-to-manage-hermes-agent-after-setup\">How to manage Hermes Agent after setup<\/h2><p class=\"wp-block-paragraph\">How you manage Hermes Agent depends on your installation method. Managed Hermes Agent provides maintenance controls in hPanel, while a self-hosted installation requires you to monitor and update the Docker deployment yourself.<\/p><h3 class=\"wp-block-heading\">Managing Managed Hermes Agent<\/h3><p class=\"wp-block-paragraph\">To manage your application, log in to hPanel and go to <strong>Hermes &rarr; Manage<\/strong>. From the Managed Hermes dashboard, you can:<\/p><ul class=\"wp-block-list\">\n<li>Open the Hermes web interface or command-line interface.<\/li>\n\n\n\n<li>Check whether the application is running and restart it when needed.<\/li>\n\n\n\n<li>Change the AI provider, API key, or model.<\/li>\n\n\n\n<li>Add or edit environment variables, including integration credentials and the gateway token.<\/li>\n\n\n\n<li>View application logs and generate AI-based troubleshooting suggestions.<\/li>\n\n\n\n<li>Monitor and top up nexos.ai or Oxylabs credits.<\/li>\n\n\n\n<li>View, download, or restore automatic backups.<\/li>\n\n\n\n<li>Renew your subscription or delete the application.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Changes to environment variables don&rsquo;t take effect immediately. After editing them, select <strong>Save &amp; redeploy<\/strong> to restart Hermes with the new settings.<\/p><p class=\"wp-block-paragraph\">Managed Hermes Agent creates a backup once per day and keeps it for seven days. Before restoring a backup, download a copy of your current data if you might need it later, as restoring replaces the current application files.<\/p><h3 class=\"wp-block-heading\">Managing a self-hosted Hermes Agent<\/h3><p class=\"wp-block-paragraph\">For a self-hosted installation, use Docker and the Hermes CLI to monitor the container, manage connected channels, schedule tasks, and access the dashboard.<\/p><h4 class=\"wp-block-heading\">Monitor logs and gateway health<\/h4><p class=\"wp-block-paragraph\">Check the container logs when Hermes stops responding or a connected service returns an error:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker logs hermes<\/pre><p class=\"wp-block-paragraph\">To follow new log entries in real time, run:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker logs -f hermes<\/pre><p class=\"wp-block-paragraph\">Check whether your messaging channels are connected:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hermes gateway status<\/pre><p class=\"wp-block-paragraph\">Restart the gateway if a channel disconnects:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hermes gateway restart<\/pre><h4 class=\"wp-block-heading\">Schedule recurring tasks<\/h4><p class=\"wp-block-paragraph\">Hermes Agent includes a cron scheduler for recurring tasks such as daily summaries, backups, reports, and service checks.<\/p><p class=\"wp-block-paragraph\">Open the scheduler with:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hermes cron<\/pre><p class=\"wp-block-paragraph\">Follow the prompts to define the task, schedule, and messaging channel where Hermes should send the result.<\/p><h4 class=\"wp-block-heading\">Access the web dashboard securely<\/h4><p class=\"wp-block-paragraph\">The web dashboard lets you manage settings, API keys, sessions, and scheduled tasks without editing configuration files manually.<\/p><p class=\"wp-block-paragraph\">Start the dashboard container and bind it to the server&rsquo;s local interface so port <strong>9119<\/strong> isn&rsquo;t publicly accessible:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d \\\n  --name hermes-dashboard \\\n  --restart unless-stopped \\\n  -v ~\/.hermes:\/opt\/data \\\n  -p 127.0.0.1:9119:9119 \\\n  nousresearch\/hermes-agent dashboard<\/pre><p class=\"wp-block-paragraph\">On your local computer, create an SSH tunnel to the server:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh -L 9119:127.0.0.1:9119 username@your-server-ip<\/pre><p class=\"wp-block-paragraph\">Replace <strong>username<\/strong> and <strong>your-server-ip<\/strong> with your server credentials. Then open <a href=\"http:\/\/localhost:9119\" target=\"_blank\" rel=\"noopener\"><strong>http:\/\/localhost:9119<\/strong><\/a> in your browser.<\/p><p class=\"wp-block-paragraph\">Keep the SSH connection open while using the dashboard. Don&rsquo;t expose port <strong>9119<\/strong> directly to the internet unless access is restricted through a VPN or firewall allowlist.<\/p><p class=\"wp-block-paragraph\">You should also monitor available storage, keep the Hermes container updated, and back up the <strong>~\/.hermes<\/strong> directory regularly. This directory contains your models, memory, skills, sessions, and configuration.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-can-you-do-with-hermes-agent\">What can you do with Hermes Agent?<\/h2><p class=\"wp-block-paragraph\">Whether you use Managed Hermes Agent or self-host it on a VPS, you get an always-on AI assistant that you can access through your preferred communication channels.<\/p><p class=\"wp-block-paragraph\">What you do with it depends on your needs, whether you&rsquo;re a developer, a sysadmin, or someone who wants a personal assistant for recurring tasks.<\/p><p class=\"wp-block-paragraph\">For development tasks, you can ask the agent to clone a repository, create a staging environment, and run tests, all from a Telegram message while you&rsquo;re away from your desk.<\/p><p class=\"wp-block-paragraph\">For system administration, you can connect Hermes Agent to your server and schedule tasks using natural language. For example, you can request a weekly disk usage report in Slack every Monday morning or have the agent monitor a service and alert you when it goes down.<\/p><p class=\"wp-block-paragraph\">For personal use, you can have the agent send a morning briefing with your calendar, top news, and GitHub notifications before your day starts.<\/p><p class=\"wp-block-paragraph\">For more advanced examples, including content production pipelines, deployment automation, and research or data processing workflows, explore these<a data-wpel-link=\"internal\" href=\"\/tutorials\/hermes-agent-use-cases\/\" rel=\"follow\"> Hermes Agent use cases<\/a>.<\/p><figure class=\"wp-block-image size-large\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-hermes-agent\" href=\"\/applications\/hermes-agent\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-150404\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2024\/02\/In-text_banner_desktop_VPS_hermes_agent_EN.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>You can set up Hermes Agent in two ways: use a managed plan that handles the server and maintenance for [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/tutorials\/how-to-set-up-hermes-agent\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":411,"featured_media":146262,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How to set up Hermes Agent: managed or self-hosted","rank_math_description":"Learn how to set up Hermes Agent with a managed plan or self-host it with Docker on a VPS. Compare both options and follow the guide step by step.","rank_math_focus_keyword":"how to set up hermes agent","footnotes":""},"categories":[22646,22644],"tags":[],"class_list":["post-146279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pre-installed-applications","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-configurar-o-hermes-agent\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-configurer-hermes-agent\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-configurar-hermes-agent\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-setting-hermes-agent-vps\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/hermes-agent-einrichten\/","default":0},{"locale":"nl-NL","link":"https:\/\/www.hostinger.com\/nl\/tutorials\/hoe-installeer-je-hermes-agent\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-set-up-hermes-agent\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-configurar-hermes-agent\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-configurar-hermes-agent\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-configurar-hermes-agent\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-configurar-o-hermes-agent\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/146279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/users\/411"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/comments?post=146279"}],"version-history":[{"count":8,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/146279\/revisions"}],"predecessor-version":[{"id":153425,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/146279\/revisions\/153425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/media\/146262"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/media?parent=146279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/categories?post=146279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/tags?post=146279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}