Files

1.9 KiB
Raw Permalink Blame History

Claude Wrapper Proxy — Docker

Расположение

Item Value
Путь ~/Docker/claude-wrapper-proxy/
Compose docker-compose.yml
Dockerfile Dockerfile
Env .env — содержит CLAUDE_CODE_OAUTH_TOKEN
Порт 3457 (хостовый на 3456)

Основа

ChrisCross3/claude-proxy-full — самый продвинутый форк с MCP injection, Isolated mode, Caller-Dispatched Tools.

Проблемы

"Not logged in" при старте

Причина: OAuth токен expired. ~/.claude/.credentials.json имеет expiresAt, который истекает. Claude CLI не может обновить через read-only volume.

Решение: передать CLAUDE_CODE_OAUTH_TOKEN в .env. Токен берётся из живой сессии Claude CLI или из .hermes/.env.

Node.js на Alpine не отвечает на внешние запросы

Причина: index.js слушает на 127.0.0.1 внутри контейнера. Docker port mapping не перенаправляет с 0.0.0.0 на 127.0.0.1.

Решение: в Dockerfile пропатчен index.jshost заменён с 127.0.0.1 на 0.0.0.0.

JsonWebTokenError при старте

Причина: пустой OAuth токен. Claude CLI внутри контейнера требует CLAUDE_CODE_OAUTH_TOKEN в env.

Решение: токен передан через .env + env_file в docker-compose.

Сборка и запуск

cd ~/Docker/claude-wrapper-proxy
docker-compose build
docker-compose up -d

Проверка: curl http://localhost:3457/v1/health → должен вернуть Hello.

Использование в Hermes

В ~/.hermes/config.yaml:

providers:
  claude:
    base_url: http://localhost:3457/v1