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

Offen Anfängerfreundlich
#8,452 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@Rajkumar2002-Rk arbeitet bereits daran.

Seit 30.9.2026.

  • #8453 von @Rajkumar2002-Rk — offen

Bewertung

Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Anfängerfreundlichkeit
75/100
Issue-Typ
Dokumentation
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
docker-compose, typescript
Bereich
backend

Rechercherichtung

Lies im Self-Hosting-Dokumentationsabschnitt „Environment Variables“ den Abschnitt „Limits“ und vergleiche ihn mit apps/sim/lib/api/server/routes/v2-json-route.ts, wo V2_PREAUTH_IP_LIMIT definiert ist. Das Issue schlägt vor, mindestens das feste Limit pro IP zu dokumentieren; den Abschnitt „Limits“ zu aktualisieren, um sein Verhalten bei Self-Hosted-Installationen zu erklären, ist ein klares erstes Ergebnis. Die optionalen Änderungen am Verhalten von Umgebungsvariablen oder der Abrechnung bleiben offen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
TypeScript
Sterne
29.8k
Forks
3.9k
Ø Merge
1 Std. 44 Min.
Gemergte PRs (30 T.)
841

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus simstudioai/sim

Alle Issues in simstudioai/sim

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.