Skip to main content

Install & Run Hermes Agent on IPv6-only VPS

Hermes Agent is an open-source AI agent framework by Nous Research. It needs GitHub (git clone) and optionally GitHub Container Registry (ghcr.io) — both of which lack IPv6. This guide covers a complete install and operational setup on an IPv6-only VPS, drawing on the solutions from the general IPv6 tutorial.

Prerequisites

Complete the general IPv6 tutorial first so that:

  • GitHub is reachable via IPv6 proxy or NAT64/DNS64
  • Docker Hub works (if using the containerised install path)

This page assumes those are already in place.

Dependency IPv6 Status

ServiceEndpointIPv6Impact
Install scriptraw.githubusercontent.com✅ Native`curl
Git clonegithub.comNeeds proxy or NAT64
Python packagespypi.org / files.pythonhosted.org✅ Fastlypip / uv works directly
npm packagesregistry.npmjs.org✅ Cloudflarenpm works directly
Container imagesghcr.ioNeeds NAT64 or proxy
LLM — OpenAIapi.openai.comUse OpenRouter or NAT64
LLM — most othersVariousAnthropic, Groq, Gemini, etc.

Install Paths

Two supported paths, both work on IPv6-only after the prerequisites above.

The standard one-liner works because raw.githubusercontent.com has native IPv6. The install script's git clone step uses the GitHub host mappings you already set up in /etc/hosts.

Step 1: Install

# curl fetches the script over IPv6 (raw.githubusercontent.com)
# git clone uses /etc/hosts IPv6 proxy
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

If the install script prompts for uv installation, answer yes — uv fetches from PyPI which has native IPv6.

Step 2: Verify

hermes doctor
hermes --version

Step 3: Configure Provider

# OpenRouter (IPv6-native, recommended)
hermes config set model.provider openrouter
hermes config set model.default "openai/gpt-4o"

# Or direct Anthropic (IPv6-native)
hermes config set model.provider anthropic
hermes config set model.default "claude-sonnet-4-20250514"

Set your API keys in ~/.hermes/.env:

~/.hermes/.env
OPENROUTER_API_KEY="sk-or-..."
# or
ANTHROPIC_API_KEY="sk-ant-..."
tip

For the smoothest IPv6-only experience, use OpenRouter as your primary provider. It has native IPv6 (Cloudflare) and proxies 200+ models including OpenAI, Anthropic, Google, Meta, and DeepSeek — all through a single IPv6 endpoint.

Step 4: Run

hermes
# or single query
hermes chat -q "What can you do?"

Ongoing Operations

Updates

# git pull uses the hosts-file proxy — works transparently
hermes update

Skills & Plugins

Skills and plugins are fetched via git clone from GitHub. Since GitHub is already reachable through the proxy setup in the prerequisites, both work:

hermes skills install <skill-id>
hermes plugins install <plugin-name>

Gateway (Messaging Platforms)

The gateway connects to Telegram, Discord, and other platforms. These platforms use their own infrastructure — they are not affected by the IPv6-only constraint:

hermes gateway setup
hermes gateway run
~/.hermes/.env
TELEGRAM_BOT_TOKEN="..."

The gateway will connect to Telegram's API natively (Telegram supports IPv6).


What Works vs What Doesn't

✅ Works on IPv6-only (no changes needed)

ComponentWhy
Install script (`curlbash`)
pip / uv packagesPyPI + Fastly dual-stack
npm packagesnpm registry via Cloudflare
OpenRouter APICloudflare IPv6
Anthropic APINative IPv6
Google Gemini APINative IPv6
Groq, Mistral, DeepSeek, PerplexityNative IPv6 via Cloudflare/CloudFront
Telegram/Discord gatewayPlatform APIs are IPv6-ready
Docker Hub pullsNative IPv6 (registry-1.docker.io)

❌ Needs workaround

ComponentIssueFix
git clone from GitHubNo AAAAIPv6 proxy in /etc/hosts (Solution 1)
ghcr.io container pullsNo AAAANAT64/DNS64 (Solution 3) or proxy
OpenAI API directlyNo AAAAOpenRouter gateway or NAT64 (Solution 4)

Troubleshooting

SymptomCauseFix
curl | bash hangsraw.githubusercontent.com DNS issueVerify AAAA: dig AAAA raw.githubusercontent.com
Install fails at git cloneGitHub proxy not configuredCheck /etc/hosts has GitHub entries
hermes update failsGit cannot reach github.comVerify proxy: curl -I https://github.com
docker pull ghcr.io/... hangsghcr.io has no IPv6Enable NAT64 or add ghcr.io to /etc/hosts
OpenAI models return errorsDirect api.openai.com unreachableSwitch to OpenRouter or enable NAT64
Skills install failsGitHub proxy not workingTest: git ls-remote https://github.com/NousResearch/hermes-agent.git

References

Community Resources