Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers VPS plans with one-click Hermes Agent, NVMe storage and a 14-day free trial.
To self-host a Hermes workspace on a VPS, connect to a Docker-capable Linux host over SSH, create a persistent ~/.hermes directory, run the official setup container with that directory mounted at /opt/data, and then start Hermes Gateway in detached mode with a restart policy. The mounted directory is the persistence boundary for your configuration, API keys, sessions, skills, and memories. Keep it backed up, publish no port unless an integration needs the API, and require an API key whenever the API listens beyond the container’s loopback interface.
What does a Hermes VPS installation include?
A VPS installation has three layers: the Linux host, the Hermes container image, and the host directory that stores your workspace state. Docker runs the image, while the bind mount keeps user data outside the replaceable container. If you remove or replace the container but retain the mounted directory, Hermes can use the same configuration and session data on its next start.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Host: a Linux VPS or another Linux machine with Docker Engine installed and its daemon running.
- Remote access: an SSH account with permission to run Docker commands.
- Persistent state:
~/.hermeson the host, mounted into the container as/opt/data. - Runtime: a one-time setup wizard followed by the long-running
gateway runcommand. - Optional network service: an API server that you explicitly enable and publish only when required.
Hermes Gateway is useful for integrations such as Telegram, Discord, Slack, and WhatsApp. A private gateway does not require an internet-facing port; the optional API server is a separate decision with its own exposure and authentication settings.
What do I need before installing Hermes on a VPS?
Have the host, access, storage, and security decisions ready before running the wizard. Hermes cannot compensate for a stopped Docker daemon, an unwritable bind mount, or a VPS whose firewall exposes services you did not intend to publish.
Popular on Amazon
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Host and account requirements
- A Linux VPS or other Linux host where Docker Engine is installed.
- A running Docker daemon. You should be able to execute
docker versionsuccessfully. - SSH access from your workstation. SSH is preferable to a browser console for commands that contain line continuations, quotes, environment variables, or mounted paths.
- Enough disk space for the image, logs, and the workspace data you plan to retain. The deployment documentation does not publish a universal CPU, RAM, or storage minimum, so size the VPS for your own integrations and workloads.
- A backup destination and a schedule for the
~/.hermesdirectory.
Credentials and network decisions
Gather the API keys that the setup wizard requests, but do not paste credentials into shell history unnecessarily. Decide whether Hermes will remain private on the VPS or whether a client, reverse proxy, or integration must reach its API. The safest default is to publish no port and add exposure only after identifying the caller and the required authentication path.
How do I connect to the VPS over SSH?
Open a terminal on your local computer and connect with the SSH account supplied by your VPS administrator. The exact user and hostname depend on your provider and operating-system image.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
ssh your-user@your-vps-hostname
After login, confirm that you are on the intended machine, then check Docker:
docker version
The command should return both client and server information. If it reports that the daemon is unavailable, fix Docker service access before attempting Hermes setup. If your account cannot access the Docker socket, either grant the account the appropriate Docker permissions according to your host policy or use an approved administrative workflow; do not assume that adding sudo is harmless, because sudo can change the value of $HOME used in bind-mount paths.
How do I run the Hermes first-run setup wizard?
Create the host directory and run the interactive setup image with that directory mounted at /opt/data. The wizard writes its configuration and credentials into the mounted directory, so the same mount must be used for every later container invocation.
Also popular on Amazon
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
- Create the persistence directory:
mkdir -p ~/.hermes - Launch the wizard interactively:
docker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent setup - Answer the prompts: provide the requested provider keys and settings. When the wizard exits, its files remain under
~/.hermeson the VPS because the container was given a bind mount. - Check ownership and permissions: verify that the account running Docker can read and write the directory. A mount that is readable during setup but not writable during gateway execution will cause confusing startup or persistence failures.
The --rm flag removes only the temporary setup container after the wizard finishes. It does not remove files in ~/.hermes. The image is treated as stateless; the host-mounted directory is where Hermes keeps user data.
Where does Hermes store API keys, sessions, skills, and memories?
Hermes stores configuration, API keys, sessions, skills, memories, and related user data in the single host directory mounted to /opt/data. With the commands above, that directory is ~/.hermes for the SSH user who ran Docker.
| Container path | Host path in this guide | Purpose |
|---|---|---|
/opt/data |
~/.hermes |
Persistent configuration, credentials, sessions, skills, memories, and other workspace state |
| Container filesystem | Not persistent by itself | Application image and temporary runtime files; replaceable during upgrades |
Changing the host directory or omitting the volume mount creates a different workspace from Hermes’s point of view. Keep the path consistent in setup, gateway, backup, and upgrade commands. Treat the directory as sensitive: anyone who can read it may be able to obtain credentials or session information.
How do I keep Hermes running after disconnecting from SSH?
Start the gateway as a detached container and give it a restart policy. This allows the process to continue after your SSH session ends and directs Docker to restart it after a daemon restart unless you deliberately stop it.
docker run -d
--name hermes
--restart unless-stopped
-v ~/.hermes:/opt/data
nousresearch/hermes-agent gateway run
Here is what each option does:
-druns the container in the background.--name hermesgives it a stable name for logs and lifecycle commands.--restart unless-stoppedrestarts it after crashes or host reboots, but respects an intentional stop.-v ~/.hermes:/opt/datareconnects the gateway to the workspace created by setup.gateway runstarts Hermes in gateway mode for supported integrations.
Confirm that the container is running:
docker ps --filter name=hermes
To follow its output, use docker logs -f hermes. Press Ctrl+C to leave log viewing; that does not stop the detached container. For routine administration, docker stop hermes stops it, docker start hermes starts an existing stopped container, and docker rm hermes removes the container definition without deleting the bind-mounted workspace.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesAlso popular on Amazon
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
How do I expose the Hermes API safely?
The API server is optional. Enable it only when a client actually needs HTTP access, bind it beyond the container loopback only when necessary, and protect it with an API key. Publishing a port on an internet-facing host increases attack surface; a private gateway can run without publishing any port.
Enable the API server
The documented configuration uses port 8642, enables the server explicitly, binds it to all container interfaces, and supplies a randomly generated key:
docker run -d
--name hermes
--restart unless-stopped
-v ~/.hermes:/opt/data
-p 8642:8642
-e API_SERVER_ENABLED=true
-e API_SERVER_HOST=0.0.0.0
-e API_SERVER_KEY="$(openssl rand -hex 32)"
-e API_SERVER_CORS_ORIGINS='*'
nousresearch/hermes-agent gateway run
Run this in place of the private-gateway command, not in addition to another container named hermes. If a previous container exists, stop and remove it first while preserving ~/.hermes:
docker stop hermes
docker rm hermes
Understand the exposure settings
| Setting | Effect | Operational caution |
|---|---|---|
API_SERVER_ENABLED=true |
Turns on the API server | Leaving it unset or false keeps the optional server disabled |
API_SERVER_HOST=0.0.0.0 |
Allows listening beyond the container loopback | Use only when a reachable interface is required |
API_SERVER_KEY |
Supplies the API credential | The documented example requires at least eight characters; generate a long random value and store it securely |
API_SERVER_CORS_ORIGINS='*' |
Allows requests from any browser origin | Broad CORS is convenient but should be narrowed when your clients have known origins |
-p 8642:8642 |
Publishes the container port on the VPS | Publishing is unnecessary for a private gateway and should be paired with firewall or reverse-proxy controls |
The API key in the shell command can be lost if you do not record it securely, and shell history or process inspection may expose environment values depending on your host controls. For a production deployment, restrict inbound traffic at the VPS firewall, consider a reverse proxy with TLS, and permit only the networks and clients that need the service. Do not treat CORS as authentication; the key and network policy remain the primary controls.
Which Hermes execution backend should I choose?
Choose the backend according to where commands should run and how much isolation you need. The VPS gateway and the backend used for tool execution are related but not identical decisions.
Also popular on Amazon
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
| Backend | Execution location | Isolation | Best fit | Trade-off |
|---|---|---|---|---|
| Local | Directly on the host running Hermes | None beyond host permissions | Tasks that must use the host environment and trusted commands | A command can affect the host; the operator must enforce all boundaries |
| Docker | Container on the selected Docker host | Docker namespaces and configured hardening | Separating command execution from the host while retaining local control | Requires image, volume, resource, and credential management |
| SSH | A remote server reached over SSH | Remote-machine boundary and account permissions | Running work on another host with its own tools or data | Depends on network reachability, keys, and remote-host administration |
| Modal | Remote managed execution environment | Provider-managed boundary | Workloads suited to that remote platform | Adds an external service and its configuration requirements |
| Daytona | Remote development environment | Environment-level separation | Tasks designed for Daytona workspaces | Requires an account and remote-environment lifecycle management |
| Singularity | Singularity-compatible host | Container isolation model supplied by that runtime | Hosts where Docker is unavailable but Singularity is standard | Different image and host policies must be maintained |
The Docker backend supports controls for resources, persistent containers, volume mounts, and environment-variable forwarding. It can also run the container as the host user so files written to bind mounts do not become owned by root. Forward only the credentials that a command genuinely needs; passing every host secret into an execution environment defeats isolation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How should I back up, upgrade, and monitor a Hermes workspace?
Back up the host-mounted directory before upgrades or configuration changes. Because the image is stateless, replacing the image is normally safe when the same ~/.hermes mount is reused, but a damaged or deleted workspace can contain the only copy of your keys, sessions, skills, and memories.
Back up the persistence boundary
- Stop or quiesce workloads when consistency matters, then copy or snapshot
~/.hermesto a protected backup location. - Encrypt backups because they contain credentials and session data.
- Test restoring a copy to a separate directory before trusting the backup process.
- Keep backup retention and access controls separate from the VPS account where possible.
Choose an image update policy
The project distinguishes floating channels such as latest or stable, the main channel, and versioned tags. A floating tag follows future image changes; a versioned tag or digest improves reproducibility. Record which tag or digest you deploy so a rollback has a known target.
Before replacing a running container, back up ~/.hermes, pull or select the desired image, stop and remove the old container, then recreate it with the identical volume mount and required environment variables. The container name may be reused after removal; the workspace directory must not be deleted.
Monitor the service
Use docker ps for state and docker logs hermes for startup and runtime errors. A restart policy improves availability after a crash or reboot but does not replace log review, disk monitoring, patching, firewall maintenance, or an alerting plan. Self-hosting leaves those operations with you rather than a hosting vendor.
Also popular on Amazon
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
What should I check when setup or startup fails?
Work from the host outward: Docker, directory permissions, container state, then network exposure. The following branches cover the common failure modes.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →The setup command cannot reach Docker
- Run
docker versionand confirm that server information is present. - Check that the Docker daemon service is running.
- Verify that your SSH account can access the Docker socket.
- If you used
sudo, inspect the resulting home directory. A changed$HOMEcan make~/.hermesresolve to an unexpected path.
The container cannot write to the workspace
- Confirm that
mkdir -p ~/.hermesran as the same account whose path you mount. - Inspect ownership and permissions on the directory.
- Use the configured host-user option for Docker execution when you need files created in the bind mount to match the host user instead of root.
- Check that the mount is exactly
~/.hermes:/opt/datain both setup and gateway commands.
The gateway exits immediately
Read the complete output with:
docker logs hermes
Look for missing configuration, invalid credentials, a malformed environment variable, or a permissions error. Confirm that no older container already owns the name and that the gateway command is gateway run, not the one-time setup command.
The API is unreachable
- Confirm that
API_SERVER_ENABLED=trueis present on the running container. - Check that
API_SERVER_HOSTis bound to the interface your client can reach; loopback-only binding cannot serve remote clients. - Verify the port mapping, VPS firewall, and any reverse-proxy route.
- Supply the same API key configured for the running container, meeting the documented eight-character minimum.
- Check container logs for bind errors or a port already in use.
The service works locally but should not be public
Remove the port publication, recreate the container without -p 8642:8642, and keep the gateway private. If an internal client still needs access, use a restricted network path or reverse proxy rather than opening the port to the whole internet.
What is the practical deployment checklist?
- SSH into the intended Linux VPS.
- Verify Docker client and daemon output with
docker version. - Create
~/.hermesand confirm its ownership. - Run the interactive setup container with
~/.hermes:/opt/data. - Protect the workspace and record a backup method.
- Start
gateway rundetached with--restart unless-stopped. - Check
docker psanddocker logs hermes. - Leave ports unpublished unless an API client requires them.
- If exposing the API, enable it explicitly, bind it deliberately, generate a strong key, and apply firewall or reverse-proxy restrictions.
- Document the image tag or digest, environment settings, backup location, and rollback procedure.
This sequence gives you a repeatable Hermes workspace: the container can be replaced, while the host directory remains the durable record of your setup.
Frequently Asked Questions
Can I move my Hermes workspace to another VPS?
Yes. Copy the complete ~/.hermes directory to the new host, preserve its permissions, install Docker there, and run the same setup or gateway image with the copied directory mounted at /opt/data. Do not run a fresh setup against the old directory unless you intend to replace its configuration.
Recommended Free Tools
Do I need a public IP address for Hermes Gateway integrations?
Not necessarily. The gateway can run privately, and only clients that must call the optional HTTP API need a reachable endpoint. A private network, VPN, or restricted reverse-proxy route can avoid exposing the VPS port directly.
What happens if I delete the Hermes Docker container?
Deleting the container removes the container instance, not the files in the host bind mount. Recreate it with the same ~/.hermes:/opt/data mapping to reuse the saved configuration and workspace state.
Should I use the latest Hermes image tag in production?
A floating tag follows future image changes and is convenient for updates, while a versioned tag or digest makes deployments reproducible and rollbacks easier. Whichever policy you choose, record the exact image reference and back up the workspace before changing it.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

