From 7b459cda71238d7b0afb02b233a4ba1128dddd0f Mon Sep 17 00:00:00 2001 From: Rajkumar2002-Rk Date: Wed, 30 Sep 2026 01:35:20 -0500 Subject: [PATCH] docs(self-hosting): document the v2 per-IP limit that applies without billing --- .../docs/platform/self-hosting/environment-variables.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/docs/content/docs/platform/self-hosting/environment-variables.mdx b/apps/docs/content/docs/platform/self-hosting/environment-variables.mdx index 67ffc91f6da..fd8da18f57d 100644 --- a/apps/docs/content/docs/platform/self-hosting/environment-variables.mdx +++ b/apps/docs/content/docs/platform/self-hosting/environment-variables.mdx @@ -278,7 +278,7 @@ Configure at least one. Every configured provider stays active and is tried in o ## Limits -Self-hosted deployments (billing disabled) run without plan limits: no rate limits, no execution timeouts, no table or storage caps, and no retention-based data deletion. Each limit can be opted back in individually by explicitly setting its variable. +Self-hosted deployments (billing disabled) run without plan limits: no plan rate limits, no execution timeouts, no table or storage caps, and no retention-based data deletion. Each limit can be opted back in individually by explicitly setting its variable. | Variable | Opts in | Suggested value | |----------|---------|-----------------| @@ -299,6 +299,10 @@ Self-hosted deployments (billing disabled) run without plan limits: no rate limi Neither deployment presets these. The Helm chart previously did, which enforced hosted-plan caps on self-hosted installs; chart 1.5.0 removed the presets so Compose and Kubernetes behave identically. + + One limit applies regardless of billing: the v2 API (`/api/v2/...`) allows each client IP a burst of 600 requests, then 300 per minute, checked before authentication. `BILLING_ENABLED` and the variables above don't change it. With Docker Compose, requests from the host machine all arrive from the bridge gateway address and share one budget. Behind a reverse proxy, set `AUTH_TRUSTED_PROXIES` so each client is counted by its own address. + + ### Removing a limit you already inherited If a limit is still enforced after upgrading — most often a `FREE_TABLES_LIMIT` or `FREE_TABLE_ROWS_LIMIT` carried forward from a chart older than 1.5.0, or copied into your own values file — the variable is still reaching the pod. On Helm, remove it by overriding it with `null`: