Skip to content
Client Panel

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.

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.

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.

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.

Terminal window
# 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.

Terminal window
hermes doctor
hermes --version
Terminal window
# 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-..."
Terminal window
hermes
# or single query
hermes chat -q "What can you do?"

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

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

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

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

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

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


✅ Works on IPv6-only (no changes needed)

Section titled “✅ 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)
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)

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