Cloud server with Hermes Agent
Hermes Agent Virtual Machine is a preconfigured cloud server with a framework for autonomous self-learning AI agents with long-term memory and automatic skill generation.
The image, from which the server is deployed, contains:
-
Hermes Agent — a framework for autonomous self-learning AI agents;
-
Docker — a platform for running containerized applications;
-
Docker Compose — a tool for running multi-container applications in Docker;
-
drivers required for working with graphics processing units (GPU).
Before creating the server, review the software license agreements included in the image.
Tasks handled
-
performing multi-step tasks using accumulated experience and long-term memory;
-
automatic creation and adaptation of skills to solve new types of tasks.
Minimum resource requirements
Get started with Hermes Agent
1. Create a public floating IP address
Create a public floating IP address so that the cloud server with Hermes Agent is accessible from the internet.
Use the Create a public floating IP address section of the Public floating IP addresses guide.
2. Create a cloud server with Hermes Agent
-
In the Control panel, on the top menu, click Products and select Cloud Servers.
-
Click Create server.
-
Fill in the blocks:
-
Check the cloud server price.
-
Click Create.
Name and placement
-
Enter a server name. It will be set as the hostname in the operating system.
-
Select a location where the server will be created. The available server configurations and resource costs depend on the location. You cannot change the location after the server is created.
Source
-
Open the Applications tab.
-
Select Hermes Agent VM.
-
Optional: if you need a different current or archived application version, select the required version in the Version field.
Configuration
Select a configuration from 2 vCPU, RAM от 4 ГБ and размером загрузочного диска от 25 ГБ. For all lines, except Shared and Dedicated, two types of server configurations are available:
- fixed configurations — configurations of lines with different technical specifications where the resource ratio is fixed;
- custom configurations — configurations in which you can specify any resource ratio.
Different processors are used in configurations depending on the line and pool segment. You can customize the selected configuration. After the server is created, you will be able to change the configuration.
Fixed configuration
Custom configuration
-
Open the tab with a line.
-
Click Fixed.
-
Optional: you can customize the configuration if you are creating a server in a multi-AZ pool ru-6 segment or ru-3b, ru-7a, and ru-7b pool segments:
3.1. Expand the block with the configuration settings description.
3.2. Optional: select a processor manufacturer. Choosing a manufacturer is not available in all pools.
3.3. Optional: if you want to prevent physical processor cores from being pinned to the cloud server vCPUs, uncheck the Dedicated Cores checkbox. Learn more in the Dedicated Cores guide.
3.4. Optional: if you want to disable Hyper-Threading for a server with dedicated cores, uncheck the Hyper-Threading (SMT) checkbox.
3.5. Optional: if you are creating a server with dedicated cores and want to place a multiprocessor server on a single NUMA node, check the Mandatory placement on a single NUMA node checkbox. A server with 4 vCPUs or more can be placed on a single NUMA node. If the cloud server resources cannot be placed on one node, it will not be created. Learn more in the Placement on a single NUMA node subsection of the Dedicated Cores guide.
-
Select a configuration.
-
If both local and network volumes are available in the selected configuration, select the volume to be used as the boot disk:
- local disk — check the Local SSD NVMe disk checkbox. A server with a local disk can only be created from images and applications;
- network volume — do not check the Local SSD NVMe disk checkbox.
The amount of RAM allocated to the server may be less than the amount specified in the configuration — the operating system kernel reserves a portion of RAM depending on the kernel version and distribution. You can check the allocated capacity on the server using the
sudo dmesg | grep Memorycommand.
Volumes
-
If you did not check the Local SSD NVMe disk checkbox when setting up the configuration, the first specified network volume will be used as the server boot disk. To configure it:
1.1. Select the network boot disk type.
1.2. Specify the network boot disk size in GB or TB. Mind the network volume limits on the maximum size.
1.3. If you selected the Universal v2 or Fast SSD v2 disk type, specify the total read and write operations in IOPS. After creating the disk, you can change the IOPS amount — reduce or increase it. The number of IOPS changes is unlimited.
-
Optional: add an additional network volume server :
2.1. Click Add.
2.2. Select the network volume type.
2.3. Specify the size of the network disk in GB or TB. Keep in mind the network volume limits on the maximum size.
2.4. If you selected the Universal v2 or SSD Fast v2 volume type, specify the total IOPS. You can change the number of IOPS after creating the volume — increase or decrease it. The number of IOPS changes is unlimited.
After the server is created, you will be able to attach new additional volumes.
Internet
Set up public access to the server.
The cloud server will be added to a private subnet that is connected to a cloud router with 1:1 NAT and internet access. Internet access will be provided through the cloud router. The server will be accessible from the internet via a public floating IP address.
-
In the Internet connection field, select the Public floating IP address access type.
-
Select the public floating IP address you created in step 1.
Private network
Existing private subnet
New private subnet
-
In the Subnet field, select a private subnet.
-
Optional: in the IP address field, change the default IP address.
-
In the Router field, select an existing router or create a new one.
If the router is not connected to the internet, it will be automatically connected to the internet after the server is created.
Security
Select security groups to filter traffic on server ports. Traffic will be blocked without security groups. If the block is missing, traffic filtering (port security) is disabled in the server network. With traffic filtering disabled, all traffic will be allowed.
Access
-
Add an SSH key for the project to the server for secure connection:
1.1. If an SSH key for the project has not been added to the cloud platform, click Add SSH key, enter the key name, paste the OpenSSH public key, and click Add.
1.2. If an SSH key for the project has been added to the cloud platform, select an existing key in the SSH key field. An SSH key is only available in the pool where it is placed.
-
Optional: in the Root password field:
2.1. Copy the
rootuser password — the user with unrestricted privileges for all system actions.2.2. Save the password in a secure place and do not share it in plain text.
Additional settings
-
If you plan to create multiple servers and want to improve infrastructure fault tolerance, add the server to a placement group:
1.1. To create a new group, in the Placement group field, click Create.
1.2. Select New group and enter the group name.
1.3. Select a placement policy on different hosts:
- preferred — soft-anti-affinity. The system will try to place servers on different hosts. If no suitable host is available when creating the server, it will be placed on the host where it fits;
- required — anti-affinity. Servers in the group must be located on different hosts. If no suitable host is available when creating the server, the server will not be created.
1.4. If the group has been created, select it in the Placement group field.
-
To add additional information or filter servers in the list, add server tags. Operating system and configuration tags are added automatically. To add a new tag, enter it in the Tags field.
-
To add a script that will be executed using the cloud-init agent when the operating system starts for the first time, in the Automation block, in the User data:
- open the Text tab and paste the script as text;
- or open the File tab and upload the file with the script.
3. Configure Hermes Agent
-
Connect to the cloud server with Hermes Agent:
1.1.Open the CLI.
1.2.Connect to the cloud server:
ssh root@<ip_address>Specify
<ip_address>— public floating IP address of the server. You can copy it in the control panel: from the top menu, click Products → Cloud Servers → in the server card, click next to the public floating IP address.1.3.If you do not have an SSH key pair, enter the
rootuser password. You can copy it in the control panel: from the top menu, click Products → Cloud Servers → server page → Console tab → in the Password field, click . -
Launch the interactive Hermes Agent setup:
docker exec -it hermes hermes setup -
Select the setup method Full setup — configure every provider, tool & option yourself (bring your own keys) and press Enter.
-
Select a model provider and press Enter.
-
Enter the provider's API key and press Enter.
-
Leave the Base URL parameter unchanged — to do this, press Enter.
-
Select a model and press Enter.
-
Select the runtime environment Docker - isolated container with configurable resources and press Enter.
-
Optional: select services for interacting with the agent. To do this, select the checkbox in the service row.
Services require additional configuration. You configure each service yourself.
-
Press Enter.
-
Optional: change the list of functions the agent has access to. To do this, select or clear the checkbox in the function row.
Some functions (for example, video analysis or generation) require additional configuration or specific models. You configure each function yourself.
-
Press Enter.
-
Select the agent web browsing mode Local Browser [★ recommended · free] — Headless Chromium, no API key needed and press Enter.
-
Leave the remaining parameters unchanged — to do this, select Skip — keep defaults / configure later and press Enter.
4. Run Hermes Agent
-
Open the
http://<ip_address>page in your browser;.Specify
<ip_address>— public floating IP address of the cloud server. You can copy it in the control panel: from the top menu, click Products → Cloud Servers → in the server card, click next to the public floating IP address. -
Enter the username —
admin. -
Enter the password — server UUID. You can copy it in the control panel: from the top menu, click Products → Cloud Servers → in the server card, click next to the UUID.
-
Click Login.