Skip to main content

Deploy the Langflow development environment on Kubernetes

The Langflow integrated development environment (IDE) Helm chart is designed to provide a complete environment for developers to create, test, and debug their flows. It includes both the Langflow API and visual editor.

Prerequisites

Prepare a Kubernetes cluster

This example uses Minikube, but you can use any Kubernetes cluster.

  1. Create a Kubernetes cluster on Minikube:


    _10
    minikube start

  2. Set kubectl to use Minikube:


    _10
    kubectl config use-context minikube

Install the Langflow IDE Helm chart

  1. Add the repository to Helm, and then update it:


    _10
    helm repo add langflow https://langflow-ai.github.io/langflow-helm-charts
    _10
    helm repo update

  2. Install Langflow with the default options in the langflow namespace:


    _10
    helm install langflow-ide langflow/langflow-ide -n langflow --create-namespace

  3. Check the status of the pods:


    _10
    kubectl get pods -n langflow

Access the Langflow IDE

Enable local port forwarding to access Langflow from your local machine:

  1. Make the Langflow API accessible from your local machine at port 7860:


    _10
    kubectl port-forward -n langflow svc/langflow-service-backend 7860:7860

  2. Make the visual editor accessible from your local machine at port 8080:


    _10
    kubectl port-forward -n langflow svc/langflow-service 8080:8080

Now you can do the following:

  • Access the Langflow API at http://localhost:7860.
  • Access the visual editor at http://localhost:8080.

Modify your Langflow IDE deployment

You can modify the Langflow IDE Helm chart's values.yaml file to customize your deployment. The following sections describe some common modifications.

If you need to set secrets, Kubernetes secrets are recommended.

Deploy a different Langflow version

The Langflow IDE Helm chart deploys the latest Langflow version by default.

To specify a different Langflow version, set the langflow.backend.image.tag and langflow.frontend.image.tag values to your preferred version. For example:


_10
langflow:
_10
backend:
_10
image:
_10
tag: "1.0.0a59"
_10
frontend:
_10
image:
_10
tag: "1.0.0a59"

Use external storage for the Langflow database

The Langflow IDE Helm chart uses the default Langflow database configuration, specifically a SQLite database stored in a local persistent disk.

If you want to use an external PostgreSQL database, use postgresql chart or externalDatabase to configure the database connection in values.yaml.

Use the built-in PostgreSQL chart:


_10
postgresql:
_10
enabled: true
_10
auth:
_10
username: "langflow"
_10
password: "langflow-postgres"
_10
database: "langflow-db"

Configure scaling

To configure scaling for the Langflow IDE Helm chart deployment, you must set replicaCount (horizontal scaling) and resources (vertical scaling) for both the langflow.backend and langflow.frontend.

If your flows rely on a shared state, such as built-in chat memory, you must also set up a shared database when scaling horizontally.


_21
langflow:
_21
backend:
_21
replicaCount: 1
_21
resources:
_21
requests:
_21
cpu: 0.5
_21
memory: 1Gi
_21
# limits:
_21
# cpu: 0.5
_21
# memory: 1Gi
_21
_21
frontend:
_21
enabled: true
_21
replicaCount: 1
_21
resources:
_21
requests:
_21
cpu: 0.3
_21
memory: 512Mi
_21
# limits:
_21
# cpu: 0.3
_21
# memory: 512Mi

See also

Search