Self-hosted AI infrastructure
Your accounts.
One endpoint.
Connect your AI subscriptions to Claude Code, Codex, and the tools you already use. Hara handles the accounts behind one API.
localhost:8317From Docker to your first request.
Start locally. Connect an account. Keep coding.
- 01
Start with Docker
Docker builds the tools, generates private keys, and starts the proxy. No host Go installation or 1Password account needed.
docker compose -f local/compose.yaml up -d --build --force-recreate
- 02
Connect your accounts
Open the management panel and connect your provider accounts. Credentials stay in your private state directory.
http://localhost:8317/management.html # Get your management password. docker compose -f local/compose.yaml run --rm --no-deps -T tools key management-password
- 03
Point your client
Set the URL and client key in Claude Code, Codex, or any OpenAI-compatible client. Keep your existing workflow.
# Claude Code export ANTHROPIC_BASE_URL=http://localhost:8317 export ANTHROPIC_AUTH_TOKEN="YOUR_KEY" # OpenAI-compatible clients base_url = "http://localhost:8317/v1"
- 04
Use it anywhere
Use the loopback endpoint on your computer, a stable local domain through portless, or Tailscale for private HTTPS from another device.
docker compose -f local/compose.yaml --profile tailscale up -d --build --force-recreate # Host client URL http://localhost:8317 # Local domain (portless) https://hara.local # Remote client URL https://cliproxy.YOUR-TAILNET.ts.net
docker compose -f local/compose.yaml up -d --build --force-recreate
Run commands from your project directory.
Bring your accounts.
OAuth subscriptions, API keys, and compatible endpoints.
Available integrations depend on your proxy version and plugins.
- ClaudeOAuth · API key
- CodexOAuth · device code
- GeminiAPI key · Vertex
- AntigravityOAuth
- GrokOAuth · API key
- KimiOAuth
- DevinOAuth
- MetaOAuth · API key
- OpenAI-compatibleAny endpoint + key
- PluginsCopilot, Kiro and more
Keep the session.
Conversations and subagents stay together, preserving account-level prompt caches.
Use available capacity.
Quota routing favours capacity near its weekly reset. Failover uses another eligible account.
Find your centre.
Your accounts, on your infrastructure.