Router openai oauth
1.8K
Proxy OpenAI-compatible con failover automático entre varias instancias de openai-oauth, usando una única URL estable para las aplicaciones.
Aplicación ──> router-openai-oauth ──> upstream 1 (primario)
├─> upstream 2 (si falla el primero)
└─> upstream N (si fallan los anteriores)
Expone el endpoint http://ip-equipo:10530/v1 listo para usar en cualquier herramienta compatible con OpenAI
Panel web para visualizar el estado/consumo de los upstream. Permite ver el consumo de tokens.
http://router-openai-oauth:10530/router/

docker-compose.yaml
services:
router-openai-oauth:
image: ar0per0/router-openai-oauth:latest
init: true
restart: unless-stopped
environment:
TZ: Europe/Madrid
UPSTREAMS: "principal=http://192.168.1.15:10531" # Upstreams en orden de prioridad; separa varias URLs con "|".
UPSTREAM_TIMEOUT_MS: 180000 # Tiempo máximo de espera por inactividad de cada upstream, en milisegundos.
UPSTREAM_FAILURE_THRESHOLD: 3 # Número de errores consecutivos antes de desactivar temporalmente un upstream.
CLIENT_ERROR_FAILURE_THRESHOLD: 5 # Durante el diagnóstico, devuelve el error observado sin probar el siguiente upstream.
MAX_REQUEST_BODY_BYTES: 33554432 # Tamaño máximo permitido del cuerpo de una petición, en bytes.
RETRY_STATUS_CODES: "401,403,408,429,500-599" # Estados HTTP que hacen que el router pruebe el siguiente upstream.
ROUTER_API_KEY: "" # Clave Bearer opcional para proteger el acceso al router; vacía significa sin autenticación.
RUNTIME_FAILOVER: true # Durante el diagnóstico, devuelve el error observado sin probar el siguiente upstream.
QUOTA_TIMEOUT_MS: 10000 # Lectura de cuotas compartida por routing y panel; timeout por instancia.
QUOTA_CACHE_MS: 15000 # Caché/deduplicación bajo demanda; sin monitor ni polling.
ports:
- "10530:10530"
volumes:
- router-openai-oauth:/app/data
Content type
Image
Digest
sha256:3e25c78e3…
Size
76.6 MB
Last updated
9 days ago
docker pull ar0per0/router-openai-oauth