You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/self-hosting/env/webapp.mdx
+21-4Lines changed: 21 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,7 @@ mode: "wide"
36
36
|`REDIS_TLS_DISABLED`| No | — | Disable Redis TLS. |
37
37
|**Auth**||||
38
38
|`WHITELISTED_EMAILS`| No | — | Whitelisted emails regex. |
39
+
|`LOGIN_RATE_LIMITS_ENABLED`| No | true | Enable rate limiting on magic-link login. |
39
40
|`AUTH_GITHUB_CLIENT_ID`| No | — | GitHub client ID. |
40
41
|`AUTH_GITHUB_CLIENT_SECRET`| No | — | GitHub client secret. |
41
42
|**Email**||||
@@ -59,6 +60,8 @@ mode: "wide"
59
60
|**Concurrency limits**||||
60
61
|`DEFAULT_ENV_EXECUTION_CONCURRENCY_LIMIT`| No | 100 | Default env execution concurrency. |
61
62
|`DEFAULT_ORG_EXECUTION_CONCURRENCY_LIMIT`| No | 300 | Default org execution concurrency, needs to be 3x env concurrency. |
63
+
|`DEFAULT_ENV_EXECUTION_CONCURRENCY_BURST_FACTOR`| No | 1.0 | Burst factor for env concurrency. |
64
+
|`DEFAULT_DEV_ENV_EXECUTION_ATTEMPTS`| No | 1 | Default max attempts for dev environment runs. |
62
65
|**Dev**||||
63
66
|`DEV_MAX_CONCURRENT_RUNS`| No | 25 | Sets the max concurrency for dev runs via the CLI. |
64
67
|`DEV_OTEL_EXPORTER_OTLP_ENDPOINT`| No |`APP_ORIGIN/otel`| OTel endpoint for dev runs. |
@@ -79,18 +82,25 @@ mode: "wide"
79
82
|`DEPLOY_REGISTRY_ECR_DEFAULT_REPOSITORY_POLICY`| No | — | Raw IAM policy JSON applied via SetRepositoryPolicy to every ECR repo created by the webapp. Use to grant cross-account pull access to EKS workers when the ECR account is separate from the cluster account. |
80
83
|`DEPLOY_IMAGE_PLATFORM`| No | linux/amd64 | Deploy image platform, same values as docker `--platform` flag. |
81
84
|`DEPLOY_TIMEOUT_MS`| No | 480000 (8m) | Deploy timeout (ms). |
|`OBJECT_STORE_BASE_URL`| No | — | Object store base URL (default provider). |
88
+
|`OBJECT_STORE_BUCKET`| No | — | Object store bucket name (default provider). |
84
89
|`OBJECT_STORE_ACCESS_KEY_ID`| No | — | Object store access key (default provider). |
85
90
|`OBJECT_STORE_SECRET_ACCESS_KEY`| No | — | Object store secret key (default provider). |
86
91
|`OBJECT_STORE_REGION`| No | — | Object store region (default provider). |
87
92
|`OBJECT_STORE_SERVICE`| No | s3 | Object store service (default provider). |
88
-
|`OBJECT_STORE_DEFAULT_PROTOCOL`| No | — | Protocol to use for new uploads (e.g.,`s3`, `r2`). Enables protocol-prefixed storage. See migration guide below. |
89
-
|`OBJECT_STORE_{PROTOCOL}_BASE_URL`| No | — | Named provider base URL (replace `{PROTOCOL}` with protocol name, e.g.,`OBJECT_STORE_S3_BASE_URL`). |
93
+
|`OBJECT_STORE_DEFAULT_PROTOCOL`| No | — | Protocol for new uploads (e.g. `s3`, `r2`). Enables protocol-prefixed storage. See migration guide below.|
94
+
|`OBJECT_STORE_{PROTOCOL}_BASE_URL`| No | — | Named provider base URL (replace `{PROTOCOL}`, e.g. `OBJECT_STORE_S3_BASE_URL`).|
90
95
|`OBJECT_STORE_{PROTOCOL}_ACCESS_KEY_ID`| No | — | Named provider access key. |
91
96
|`OBJECT_STORE_{PROTOCOL}_SECRET_ACCESS_KEY`| No | — | Named provider secret key. |
92
97
|`OBJECT_STORE_{PROTOCOL}_REGION`| No | — | Named provider region. |
93
98
|`OBJECT_STORE_{PROTOCOL}_SERVICE`| No | — | Named provider service. |
99
+
|`ARTIFACTS_OBJECT_STORE_BUCKET`| No | — | Optional separate bucket for artifacts. If not set, uses main object store. |
100
+
|`ARTIFACTS_OBJECT_STORE_BASE_URL`| No | — | Optional artifacts store base URL. |
101
+
|`ARTIFACTS_OBJECT_STORE_ACCESS_KEY_ID`| No | — | Optional artifacts store access key. |
102
+
|`ARTIFACTS_OBJECT_STORE_SECRET_ACCESS_KEY`| No | — | Optional artifacts store secret key. |
103
+
|`ARTIFACTS_OBJECT_STORE_REGION`| No | — | Optional artifacts store region. |
94
104
|**Alerts**||||
95
105
|`ORG_SLACK_INTEGRATION_CLIENT_ID`| No | — | Slack client ID. Required for Slack alerts. |
96
106
|`ORG_SLACK_INTEGRATION_CLIENT_SECRET`| No | — | Slack client secret. Required for Slack alerts. |
@@ -107,12 +117,14 @@ mode: "wide"
107
117
|`TASK_PAYLOAD_OFFLOAD_THRESHOLD`| No | 524288 (512KB) | Max task payload size before offloading to S3. |
108
118
|`TASK_PAYLOAD_MAXIMUM_SIZE`| No | 3145728 (3MB) | Max task payload size. |
109
119
|`BATCH_TASK_PAYLOAD_MAXIMUM_SIZE`| No | 1000000 (1MB) | Max batch payload size. |
120
+
|`BATCH_CONCURRENCY_LIMIT_DEFAULT`| No | 5 | Default concurrency for batch processing. |
|`EVENT_REPOSITORY_DEFAULT_STORE`| No | postgres | Where to store task events. Set to `clickhouse_v2` to store in ClickHouse (recommended for production). |
128
140
|**Realtime**||||
141
+
|`REALTIME_STREAM_VERSION`| No | v1 | Realtime stream protocol version. One of `v1`, `v2`. |
129
142
|`REALTIME_STREAM_MAX_LENGTH`| No | 1000 | Realtime stream max length. |
|`MAXIMUM_DEV_QUEUE_SIZE`| No | — | Maximum queued runs per queue in development environments. |
150
163
|`MAXIMUM_DEPLOYED_QUEUE_SIZE`| No | — | Maximum queued runs per queue in deployed (staging/prod) environments. |
151
164
|**Misc**||||
165
+
|`PROVIDER_SECRET`| No | provider-secret | Secret for provider auth. **Must be set to a secure value in self-hosted/production**; the default is insecure. |
166
+
|`COORDINATOR_SECRET`| No | coordinator-secret | Secret for coordinator auth. **Must be set to a secure value in self-hosted/production**; the default is insecure. |
152
167
|`TRIGGER_TELEMETRY_DISABLED`| No | — | Disable telemetry. |
153
168
|`NODE_MAX_OLD_SPACE_SIZE`| No | 8192 | Maximum memory allocation for Node.js heap in MiB (e.g. "4096" for 4GB). |
154
169
|`OPENAI_API_KEY`| No | — | OpenAI API key. |
@@ -236,6 +251,7 @@ Restart the webapp and verify both providers work:
236
251
237
252
- Old runs (no prefix) should still access R2
238
253
- New runs with `s3://` prefix should use S3
254
+
239
255
</Step>
240
256
241
257
<Steptitle="Switch to S3 for new uploads">
@@ -250,6 +266,7 @@ After this change:
250
266
- New data uses `s3://` prefix and goes to S3
251
267
- Old data (no prefix) still uses R2
252
268
- Data with explicit protocol uses the corresponding provider
0 commit comments