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

Ouverte Adaptée aux débutants
#8,452 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@Rajkumar2002-Rk y travaille déjà.

Depuis le 30/9/2026.

  • #8453 par @Rajkumar2002-Rk — ouverte

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
75/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
Active
Stack technique
docker-compose, typescript
Domaine
backend

Piste de recherche

Lisez la section “Limits” de Environment Variables dans la documentation du self-hosting et comparez-la avec apps/sim/lib/api/server/routes/v2-json-route.ts, où V2_PREAUTH_IP_LIMIT est défini. L’issue suggère de documenter au minimum la limite fixe par IP ; mettre à jour la section “Limits” pour expliquer son comportement dans les installations self-hosted constitue un premier résultat clair. Les éventuelles modifications du comportement des variables d’environnement ou de la facturation restent ouvertes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
29.8k
Forks
3.9k
Merge moyen
1 h 44 min
PR mergées (30 j)
841

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de simstudioai/sim

Toutes les issues de simstudioai/sim

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.