v2 API rate limits self-hosted installs by IP even with billing disabled

Abierto Apto para principiantes
#8,452 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Rajkumar2002-Rk ya está trabajando en esto.

Desde el 30/9/2026.

  • #8453 de @Rajkumar2002-Rk — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
75/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
docker-compose, typescript
Área
backend

Línea de trabajo

Lee la sección “Limits” de Environment Variables en la documentación de self-hosting y compárala con apps/sim/lib/api/server/routes/v2-json-route.ts, donde se define V2_PREAUTH_IP_LIMIT. El issue sugiere documentar como mínimo el límite fijo por IP; actualizar la sección “Limits” para explicar su comportamiento en instalaciones self-hosted es un primer resultado claro. Los cambios opcionales en el comportamiento de las variables de entorno o de la facturación quedan abiertos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The self-hosting docs (Environment Variables, "Limits") say installs with billing disabled "run without plan limits: no rate limits". The v2 API still enforces a fixed per-IP limit before auth: V2_PREAUTH_IP_LIMIT in apps/sim/lib/api/server/routes/v2-json-route.ts (600 burst, 300 per minute). It isn't affected by BILLING_ENABLED or the RATE_LIMIT_FREE_* variables, and there's no way to change it.

On a Docker Compose install, every request from the host arrives from the bridge gateway (172.19.0.1 here), so all local callers share one bucket. A batch job running sync executes with a log fetch after each one hit it and got 429 RATE_LIMITED. The server logs show storageKey: v2:preauth:ip:172.19.0.1.

Repro (billing off, no RATE_LIMIT_* set): send 800 quick requests to POST /api/v2/workflows/{id}/execute, even with an invalid API key. The first 600 return 401 and the rest return 429 with x-ratelimit-limit: 600.

At minimum it would help to mention this limit in the Limits section. It might also make sense to let self-hosters raise it with an env var, or to skip it when billing is disabled, but that's your call since it's there for abuse protection. Happy to send a docs PR.

Lenguaje dominante
TypeScript
Estrellas
29.8k
Forks
3.9k
Merge medio
1 h 44 min
PR fusionados (30 d)
841

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de simstudioai/sim

Todos los issues de simstudioai/sim

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.