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
* docs: bump API spec to 1.11
* docs: fix generation defs error
* docs: clarify superuser
* docs: release note cleanup
* docs: revert restricted docker env vars
* docs: fix link in env vars
* docs: bump version to 1.11.0
* docs: workflows api is available in the API pane
* docs: release note cleanup
* docs: version parity
* docs: tweaks pane moved to parameters
* docs: add global vars example for workflows v2
* docs: trim tweaks section
Copy file name to clipboardExpand all lines: docs/docs/API-Reference/api-files.mdx
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -182,8 +182,7 @@ To change this limit, set the `LANGFLOW_MAX_FILE_SIZE_UPLOAD` [environment varia
182
182
</Tabs>
183
183
184
184
:::tip
185
-
For help with tweaks, use the **Input Schema** in a flow's [**API access** pane](/concepts-publish#api-access).
186
-
Setting tweaks with **Input Schema** also automatically populates the required component IDs.
185
+
For help with tweaks, expose fields in the component [**Parameters** panel](/concepts-publish#input-schema), and then click **Share** > **API access** to copy snippets with the required component IDs.
Copy file name to clipboardExpand all lines: docs/docs/API-Reference/api-flows-run.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ To create, read, update, and delete flows, see [Flow management endpoints](/api-
34
34
35
35
:::tip
36
36
Langflow automatically generates Python, JavaScript, and curl code snippets for the `/v1/run/$FLOW_ID` endpoint for all flows.
37
-
For more information, see [Generate API code snippets](/concepts-publish#generate-api-code-snippets).
37
+
In the [**API access** pane](/concepts-publish#api-access), select **v1** for `/run`snippets, or **v2** (Beta) for [Workflow API](/workflow-api) snippets.
|`stream_protocol`|`string`| No |`langflow`| Stream adapter name used for `stream` responses and background event re-attachment. Unknown values return a `422` code for any request mode because the API validates the field against the registered adapters before execution starts. |
64
65
|`session_id`|`string`| No | - | Scopes message memory and chat history to this session. |
65
66
|`tweaks`|`object`| No |`{}`| Per-component parameter overrides keyed by component id. See [Component tweaks](#component-tweaks). |
66
-
| `globals` | `object` | No | `{}` | Request-level global variables (sync mode only). Keys are limited to 256 characters and values to 64 KB. See [Request-level global variables](#request-level-global-variables).
67
+
| `globals` | `object` | No | `{}` | Request-level global variables. Available in sync mode only. Keys are limited to 256 characters and values to 64 KB. See [Pass request-level global variables](#request-level-global-variables).
67
68
|`output_ids`|`array`| No | - | Output component ids to use when resolving sync-mode answers (sync mode only). |
68
69
|`data`|`object`| No | - | Live-canvas override of nodes and edges (stream and background modes only). |
69
70
|`files`|`array`| No | - | Pre-uploaded file paths to attach to the run (stream and background modes only). |
@@ -448,25 +449,43 @@ The `status` values are:
448
449
}
449
450
```
450
451
451
-
## Request-level global variables {#request-level-global-variables}
452
+
## Pass request-level global variables {#request-level-global-variables}
452
453
453
-
Pass request-scoped variables in the `globals` JSON field. They are available to workflow components for the duration of the run. Use this field when values may include Unicode or other characters that HTTP headers handle poorly.
454
+
Pass request-scoped variables in the `globals` JSON field.
455
+
They are available to workflow components for the duration of the run.
454
456
455
-
`globals` is honored in **sync mode only**; stream and background runs ignore it.
457
+
Use `globals` when values are large, shared across runs, or would exceed HTTP header size limits.
458
+
[Tweaks](#component-tweaks) are better suited for one-off component overrides.
459
+
`globals` is keyed by variable name and not component ID, so it stays stable when the UI regenerates node IDs when importing flows.
`globals` is honored in **sync mode only**; stream and background runs ignore it.
462
+
The Workflow API is in **Beta**, and this transport may continue to evolve.
463
+
464
+
### Use a stable name in the UI and then pass it in `globals`
465
+
466
+
To avoid depending on changing component IDs, rename a component, create a matching global variable, bind the field, and pass the value in the request.
467
+
468
+
1. To rename the component in the UI, click <Iconname="PencilLine"aria-hidden="true"/> **Edit**, and then rename the component. This example uses `CUSTOMER_PROMPT`.
469
+
2. Save the flow.
470
+
3. Create a new global variable with the same name as the component, such as `CUSTOMER_PROMPT`, and save it.
471
+
For more about creating global variables, see [Global variables](/configuration-global-variables).
472
+
4. In the field you want to fill at runtime, click the <Iconname="Globe"aria-hidden="true"/> **Globe** icon, select `CUSTOMER_PROMPT`, and save the flow.
473
+
5. Call the v2 Workflow API in sync mode and pass the value in `globals`.
474
+
475
+
```bash
476
+
curl -X POST "http://localhost:7860/api/v2/workflows" \
477
+
-H "Content-Type: application/json" \
478
+
-H "x-api-key: YOUR_API_KEY" \
479
+
-d '{
480
+
"flow_id": "YOUR_FLOW_ID",
481
+
"mode": "sync",
482
+
"input_value": "hello",
483
+
"globals": {
484
+
"CUSTOMER_PROMPT": "The prompt with many words..."
485
+
}
486
+
}'
466
487
```
467
488
468
-
Keys may use the same characters supported by the global variables panel in the Langflow UI. Keys are bounded to 256 characters; values are bounded to 64 KB.
@@ -478,9 +497,9 @@ This note applies to the **Workflow API only**. The v1 [`/run`](/api-flows-run)
478
497
479
498
</details>
480
499
481
-
## Component tweaks
500
+
## Component tweaks{#component-tweaks}
482
501
483
-
Use the `tweaks` object to override component parameters. Keys are component ids; values are objects of field names and values to set on that component's template.
502
+
Use the `tweaks` object for one-off component parameter overrides in a single run.
484
503
485
504
```json
486
505
{
@@ -495,7 +514,7 @@ Use the `tweaks` object to override component parameters. Keys are component ids
495
514
}
496
515
```
497
516
498
-
To find a component id in the Langflow UI, open your flow, click the component, and then click **Controls**. The component id is at the top of the **Controls** pane.
517
+
For more information, see [Tweaks (API inputs)](/concepts-publish#input-schema).
When set to `false`, Langflow blocks creating custom components and changing code in the visual editor.
16
16
17
17
When unset or `true`, Langflow allows custom code.
18
-
Existing non-Docker installations keep the default `true` behavior until you opt in to this restriction.
19
-
20
-
As of Langflow 1.11.x, official Langflow Docker images set `LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false` at image build time, along with related [component hardening](/api-keys-and-authentication#multi-tenant-component-hardening) flags.
18
+
Existing installations keep the default `true` behavior until you opt in to this restriction.
21
19
22
20
This environment variable is a beta feature, and should not be your only safeguard in production environments.
Copy file name to clipboardExpand all lines: docs/docs/Deployment/deployment-docker.mdx
+21-33Lines changed: 21 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,21 +16,24 @@ This guide demonstrates several ways to run Langflow with [Docker](https://docs.
16
16
*[Customize the Docker Compose file](#customize): Package a flow or add your own code into a custom image built on top of the official Langflow image.
17
17
*[Build and run the Docker image from source](#build-from-source): Build a Docker image from a local clone of the repo, or start a full development environment with hot reload on both frontend and backend.
18
18
*[Upgrade the Langflow Docker image](#upgrade-the-langflow-docker-image): Upgrade to a newer image without losing your database or flows.
19
-
*[Docker image security defaults](#docker-image-security-defaults): Hardened environment variables baked into published images, and how to override them for local use.
19
+
*[Docker image defaults](#docker-image-security-defaults): Environment variables included in the Langflow image and how to override them.
20
20
21
21
## Quickstart {#quickstart}
22
22
23
23
With Docker installed and running on your system, run the following command:
Replace `SUPERUSER_PASSWORD` with a strong password for the Langflow superuser.
33
-
As of Langflow 1.11.x, images include [security defaults](#docker-image-security-defaults) that you may need to override for local workflows.
32
+
By default, the official Docker images set `LANGFLOW_AUTO_LOGIN=false` by default.
33
+
34
+
Replace `SUPERUSER_PASSWORD` with a strong password for the Langflow superuser.
35
+
36
+
For more information, see [Docker image defaults](#docker-image-security-defaults).
34
37
35
38
Then, access Langflow at `http://localhost:7860/`.
36
39
@@ -230,7 +233,8 @@ Replace the following:
230
233
* `SUPERUSER_PASSWORD`: a strong password for the Langflow superuser
231
234
* `VERSION`: the version in `pyproject.toml` at the repo root
232
235
233
-
The image sets `LANGFLOW_AUTO_LOGIN=false` and the [component hardening defaults](#docker-image-security-defaults), so a superuser password is required unless you set `LANGFLOW_AUTO_LOGIN=true`.
236
+
The image sets `LANGFLOW_AUTO_LOGIN=false`, so a superuser password is required unless you set `LANGFLOW_AUTO_LOGIN=true`.
237
+
For more information, see [Docker image defaults](#docker-image-security-defaults).
234
238
235
239
To build only the LFX executor CLI image instead of the full Langflow application, run:
236
240
@@ -301,9 +305,10 @@ The following environment variables are set by default:
| `LANGFLOW_CONFIG_DIR` | `/var/lib/langflow` | Directory for Langflow config and data |
306
309
310
+
`LANGFLOW_SUPERUSER_PASSWORD`is not set in the compose file. With the default `LANGFLOW_AUTO_LOGIN=true`, Langflow generates a random bootstrap password for the auto-login account. If you set `LANGFLOW_AUTO_LOGIN=false`, you must set `LANGFLOW_SUPERUSER_PASSWORD` to a strong password before startup. The legacy value `langflow` is not allowed.
311
+
307
312
To override these values, edit `docker/dev.docker-compose.yml` directly.
308
313
309
314
`docker/dev.docker-compose.yml`uses literal values in its `environment:` block, such as `- LANGFLOW_SUPERUSER=langflow`. Docker Compose v2 gives `environment:` block literal values higher precedence than shell-exported variables and `env_file:`, so neither `export LANGFLOW_SUPERUSER=myadmin` or a `.env` file will override them. Edit the file directly instead.
@@ -379,35 +384,18 @@ Set the custom image in your compose file or `docker run`, and then pull and res
379
384
380
385
For a minimal Dockerfile that adds `uv` to the 1.8.0 image, see the [release notes](/release-notes) ("Docker image no longer includes uv or uvx").
As of Langflow 1.11.x, official Langflow Docker images set `LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false` at image build time, and include stricter defaults for the following environment variables:
389
+
As of Langflow 1.11.x, official Langflow Docker images set `LANGFLOW_AUTO_LOGIN=false` at image build time.
390
+
The Langflow application default for non-Docker installs remains `true`.
These image values match the [component hardening for untrusted users](/api-keys-and-authentication#multi-tenant-component-hardening) recommendation.
395
-
They apply whether you use `docker run`, Docker Compose, or Kubernetes with the published image, unless you override them.
396
-
397
-
The image sets `LANGFLOW_AUTO_LOGIN=false`, so you must set `LANGFLOW_SUPERUSER_PASSWORD` (and optionally, `LANGFLOW_SUPERUSER`) unless you explicitly set `LANGFLOW_AUTO_LOGIN=true`.
398
-
399
-
To disable the stricter defaults and use custom components, built-in code-execution components, or absolute local file paths, override the image defaults:
392
+
Because auto-login is disabled, you must set `LANGFLOW_SUPERUSER_PASSWORD` (and optionally `LANGFLOW_SUPERUSER`) unless you explicitly set `LANGFLOW_AUTO_LOGIN=true`.
In Docker Compose, add the same keys under `services.langflow.environment`.
412
-
413
401
For more information, see [Component hardening for untrusted users](/api-keys-and-authentication#multi-tenant-component-hardening) and [Block custom components](/deployment-block-custom-components).
Copy file name to clipboardExpand all lines: docs/docs/Develop/api-keys-and-authentication.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -167,7 +167,7 @@ All users share the same visual editor environment without password protection,
167
167
API requests still require a Langflow API key unless you also set [`LANGFLOW_SKIP_AUTH_AUTO_LOGIN`](#langflow-skip-auth-auto-login) to `true`.
168
168
169
169
The Langflow application default is `True`.
170
-
Official Langflow Docker images set `false`. For more information, see [Docker image security defaults](/deployment-docker#docker-image-security-defaults).
170
+
Official Langflow Docker images set `false`. For more information, see [Docker image defaults](/deployment-docker#docker-image-security-defaults).
@@ -494,7 +494,7 @@ In a shared server where users you do not fully trust can build flows, set `LANG
494
494
495
495
Use these variables when users who can build or run flows on your server should not get host-level code execution, arbitrary file reads, or MCP mounts.
496
496
497
-
As of Langflow 1.11.x, Langflow application defaults remain permissive for trusted single-user installations, while official Docker images enable the hardened values. For more information, see [Docker image security defaults](/deployment-docker#docker-image-security-defaults).
497
+
For more information, see [Docker image defaults](/deployment-docker#docker-image-security-defaults).
498
498
499
499
| Variable | Format | Default | Description |
500
500
|----------|--------|---------|-------------|
@@ -747,7 +747,7 @@ This configuration is recommended for any deployment where Langflow is exposed t
747
747
:::tip Docker images
748
748
Official Langflow Docker images already set `LANGFLOW_AUTO_LOGIN=false`.
749
749
You still must set `LANGFLOW_SUPERUSER_PASSWORD` (and optionally `LANGFLOW_SUPERUSER`) before the container can start.
750
-
For more information, see [Docker image security defaults](/deployment-docker#docker-image-security-defaults).
750
+
For more information, see [Docker image defaults](/deployment-docker#docker-image-security-defaults).
751
751
:::
752
752
753
753
With authentication enabled, all users must sign in to the visual editor with valid credentials, and API requests require authentication with a Langflow API key.
Copy file name to clipboardExpand all lines: docs/docs/Develop/concepts-file-management.mdx
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,12 +61,10 @@ To enable file input in your flow, do the following:
61
61
62
62
1. Add a [**Read File** component](/read-file) to your flow.
63
63
64
-
2.Click **Share**, select**API access**, and then click **Input Schema**to add [`tweaks`](/concepts-publish#input-schema) to the request payload in the flow's automatically generated code snippets.
64
+
2.Select the **Read File** component, click**Parameters**, and then click **API** on the **Files** (path) field to expose it as a [`tweak`](/concepts-publish#input-schema).
65
65
66
-
3. Expand the **File** section, find the **Files** row, and then enable **Expose Input** to allow the parameter to be set at runtime through the Langflow API.
67
-
68
-
4. Close the **Input Schema** pane to return to the **API access** pane.
69
-
The payload in each code snippet now includes `tweaks` with your **Read File** component's ID and the `path` key that you enabled in **Input Schema**:
66
+
3. Open **Share** > **API access**.
67
+
The payload in each code snippet now includes `tweaks` with your **Read File** component's ID and the `path` key:
70
68
71
69
```json
72
70
"tweaks": {
@@ -76,7 +74,7 @@ The payload in each code snippet now includes `tweaks` with your **Read File** c
76
74
}
77
75
```
78
76
79
-
5. When you run this flow programmatically, your script must upload a file to Langflow file management, and then pass the returned `file_path` to the `path` tweak in the `/run` request:
77
+
4. When you run this flow programmatically, your script must upload a file to Langflow file management, and then pass the returned `file_path` to the `path` tweak in the `/run` request:
0 commit comments