Files
langflow/docs/docs/Configuration/environment-variables.md
Eric Schneider d38e79bde6 docs: Update CLI page and add new environment variables page (#4311)
* Update drafts

* Sync CLI and env variables

* More drafts

* Converge CLI pages

* Formalize env variables page

* Remove Required column

* Remove some variables

* More tweaks to env

* Small changes to CLI config

* Add anchor links to env variables and cli options

* Add cross references between cli and env options

* Some qol tweaks to env variable page

* Remove unused env variables

* Fix double period

* Fix typo

---------

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2024-10-30 12:52:17 +00:00

11 KiB

title, sidebar_position, slug
title sidebar_position slug
Environment Variables 7 /environment-variables

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Environment Variables

Langflow lets you configure a number of settings using environment variables.

Configure environment variables

Langflow recognizes supported environment variables from the following sources:

  • Environment variables that you've set in your terminal.
  • Environment variables that you've imported from a .env file using the --env-file option in the Langflow CLI.

You can choose to use one source exclusively, or use both sources together. If you choose to use both sources together, be aware that environment variables imported from a .env file take precedence over those set in your terminal.

Set environment variables in your terminal

Run the following commands to set environment variables for your current terminal session:

```bash export VARIABLE_NAME='VALUE' ``` ``` set VARIABLE_NAME='VALUE' ``` ```bash docker run -it --rm \ -p 7860:7860 \ -e VARIABLE_NAME='VALUE' \ langflowai/langflow:latest ```

When you start Langflow, it looks for environment variables that you've set in your terminal. If it detects a supported environment variable, then it automatically adopts the specified value, subject to precedence rules.

Import environment variables from a .env file

  1. Create a .env file and open it in your preferred editor.

  2. Add your environment variables to the file:

    VARIABLE_NAME='VALUE'
    VARIABLE_NAME='VALUE'
    

    :::tip The Langflow project includes a .env.example file to help you get started. You can copy the contents of this file into your own .env file and replace the example values with your own preferred settings. :::

  3. Save and close the file.

  4. Start Langflow using the --env-file option to define the path to your .env file:

    ```bash python -m langflow run --env-file .env ``` ```bash docker run -it --rm \ -p 7860:7860 \ --env-file .env \ langflowai/langflow:latest ```

On startup, Langflow imports the environment variables from your .env file, as well as any that you set in your terminal, and adopts their specified values.

Precedence

Environment variables defined in the .env file take precedence over those set in your terminal. That means, if you happen to set the same environment variable in both your terminal and your .env file, Langflow adopts the value from the the .env file.

:::info[CLI precedence] Langflow CLI options override the value of corresponding environment variables defined in the .env file as well as any environment variables set in your terminal. :::

Supported environment variables

The following table lists the environment variables supported by Langflow.

Variable Format / Values Default Description
DO_NOT_TRACK Boolean false If enabled, Langflow will not track telemetry.
LANGFLOW_AUTO_LOGIN Boolean true Enable automatic login for Langflow. Set to false to disable automatic login and require the login form to log into the Langflow UI. Setting to false requires LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD to be set.
LANGFLOW_AUTO_SAVING Boolean true Enable flow auto-saving.
See --auto-saving option.
LANGFLOW_AUTO_SAVING_INTERVAL Integer 1000 Set the interval for flow auto-saving in milliseconds.
See --auto-saving-interval option.
LANGFLOW_BACKEND_ONLY Boolean false Only run Langflow's backend server (no frontend).
See --backend-only option.
LANGFLOW_CACHE_TYPE async
redis
memory
disk
critical
async Set the cache type for Langflow.
If you set the type to redis, then you must also set the following environment variables: LANGFLOW_REDIS_HOST, LANGFLOW_REDIS_PORT, LANGFLOW_REDIS_DB, and LANGFLOW_REDIS_CACHE_EXPIRE.
LANGFLOW_COMPONENTS_PATH String langflow/components Path to the directory containing custom components.
See --components-path option.
LANGFLOW_CONFIG_DIR String Set the Langflow configuration directory where files, logs, and the Langflow database are stored.
LANGFLOW_DATABASE_URL String Set the database URL for Langflow. If you don't provide one, Langflow uses an SQLite database.
LANGFLOW_DEV Boolean false Run Langflow in development mode (may contain bugs).
See --dev option.
LANGFLOW_FALLBACK_TO_ENV_VAR Boolean true If enabled, global variables set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value.
LANGFLOW_FRONTEND_PATH String ./frontend Path to the frontend directory containing build files. This is for development purposes only.
See --frontend-path option.
LANGFLOW_HEALTH_CHECK_MAX_RETRIES Integer 5 Set the maximum number of retries for the health check.
See --health-check-max-retries option.
LANGFLOW_HOST String 127.0.0.1 The host on which the Langflow server will run.
See --host option.
LANGFLOW_LANGCHAIN_CACHE InMemoryCache
SQLiteCache
InMemoryCache Type of cache to use.
See --cache option.
LANGFLOW_LOG_FILE String logs/langflow.log Set the path to the log file for Langflow.
See --log-file option.
LANGFLOW_LOG_LEVEL debug
info
warning
error
critical
critical Set the logging level.
See --log-level option.
LANGFLOW_MAX_FILE_SIZE_UPLOAD Integer 100 Set the maximum file size for the upload in megabytes.
See --max-file-size-upload option.
LANGFLOW_OPEN_BROWSER Boolean true Open the system web browser on startup.
See --open-browser option.
LANGFLOW_PORT Integer 7860 The port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.
See --port option.
LANGFLOW_PROMETHEUS_ENABLED Boolean false Expose Prometheus metrics.
LANGFLOW_PROMETHEUS_PORT Integer 9090 Set the port on which Langflow exposes Prometheus metrics.
LANGFLOW_REDIS_CACHE_EXPIRE Integer 3600 See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_DB Integer 0 See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_HOST String localhost See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_PORT String 6379 See LANGFLOW_CACHE_TYPE.
LANGFLOW_REMOVE_API_KEYS Boolean false Remove API keys from the projects saved in the database.
See --remove-api-keys option.
LANGFLOW_SAVE_DB_IN_CONFIG_DIR Boolean false Save the Langflow database in LANGFLOW_CONFIG_DIR instead of in the Langflow package directory. Note, when this variable is set to default (false), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow.
LANGFLOW_STORE Boolean true Enable the Langflow Store.
See --store option.
LANGFLOW_STORE_ENVIRONMENT_VARIABLES Boolean true Store environment variables as global variables in the database.
LANGFLOW_SUPERUSER String Not set Set the name for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --username option.
LANGFLOW_SUPERUSER_PASSWORD String Not set Set the password for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --password option.
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT String Not set Comma-separated list of environment variables to get from the environment and store as global variables.
LANGFLOW_WORKER_TIMEOUT Integer 300 Worker timeout in seconds.
See --worker-timeout option.
LANGFLOW_WORKERS Integer 1 Number of worker processes.
See --workers option.