Self-hosted LLM gateway with multi-provider routing, budgets, web dashboard, and CLI.
6.3K
One gateway. Any AI model. Total control.
Self-hosted LLM gateway with intelligent routing, real-time cost tracking, and budget enforcement. Drop-in compatible with the OpenAI and Anthropic APIs — change one environment variable, nothing else in your code changes.
Your App ──────────────────────▶ Routerly ──▶ OpenAI / Anthropic
│ ──▶ AWS Bedrock
POST /v1/chat/completions │ ──▶ Azure OpenAI
(same API, any SDK) │ ──▶ Google Vertex AI
│ ──▶ Gemini / Mistral / Groq / Cohere
│ ──▶ Ollama (local)
Auth · Route · Budget · Track
docker run -d --name routerly -p 3000:3000 -v routerly_data:/data -e ROUTERLY_HOME=/data --restart unless-stopped inebrio/routerly:latest
Open http://localhost:3000 to access the dashboard.
services:
routerly:
image: inebrio/routerly:latest
ports:
- "3000:3000"
volumes:
- routerly_data:/data
environment:
- ROUTERLY_HOME=/data
restart: unless-stopped
volumes:
routerly_data:
docker compose up -d
cheapest, capability, health, performance, context, budget-remaining, fairness, …) and sent to the best available model. Automatic fallback if a provider fails./metrics endpoint with request counts, latency histograms, token usage, and cache hit rates.Cursor, Continue.dev, Open WebUI, LibreChat, LangChain, LlamaIndex, or plain curl — anything that speaks the OpenAI or Anthropic protocol works without modification.
# OpenAI SDK
client = OpenAI(
base_url="http://localhost:3000/v1",
api_key="your-project-token"
)
All data and configuration are stored in /data inside the container. Mount a volume there to persist settings across restarts.
| Variable | Default | Description |
|---|---|---|
ROUTERLY_HOME | /data | Data directory |
ROUTERLY_PORT | 3000 | HTTP port |
NODE_ENV | production | Node environment |
linux/amd64linux/arm64 — Apple Silicon, AWS Graviton, Raspberry Pi| Tag | Description |
|---|---|
latest | Latest stable release |
stable | Stable channel (same as latest) |
develop | Latest develop build (pre-release) |
vX.Y.Z | Specific version (e.g. v0.2.0) |
X.Y.Z | Develop build pinned to version (e.g. 0.3.0) |
Content type
Image
Digest
sha256:0e08605e1…
Size
114.6 MB
Last updated
3 months ago
docker pull inebrio/routerly