Files
langflow/docs/versioned_docs/version-1.8.0/Deployment/deployment-kubernetes-dev.mdx
Mendon Kissling b36444f5d9 docs: add versioning (#12218)
* fix: nightly now properly gets 1.9.0 branch (#12215)

before it was attempting to pull release-notes as letters are alphanumerically after numbers when we sort -V then grab tail
now we only look at branch names that follow the pattern '^release-[0-9]+\.[0-9]+\.[0-9]+$'

* docs: add search icon (#12216)

add-back-svg

* initial-content

* cut-1.8-release-and-include-next-version

* stage-1.8.0-and-next

---------

Co-authored-by: Adam-Aghili <149833988+Adam-Aghili@users.noreply.github.com>
2026-03-18 20:03:49 +00:00

186 lines
5.0 KiB
Plaintext

---
title: Deploy the Langflow development environment on Kubernetes
slug: /deployment-kubernetes-dev
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
The [Langflow integrated development environment (IDE) Helm chart](https://github.com/langflow-ai/langflow-helm-charts/tree/main/charts/langflow-ide) 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
- A [Kubernetes](https://kubernetes.io/docs/setup/) cluster
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
- [Helm](https://helm.sh/docs/intro/install/)
## Prepare a Kubernetes cluster
This example uses [Minikube](https://minikube.sigs.k8s.io/docs/start/), but you can use any Kubernetes cluster.
1. Create a Kubernetes cluster on Minikube:
```shell
minikube start
```
2. Set `kubectl` to use Minikube:
```shell
kubectl config use-context minikube
```
## Install the Langflow IDE Helm chart
1. Add the repository to Helm, and then update it:
```shell
helm repo add langflow https://langflow-ai.github.io/langflow-helm-charts
helm repo update
```
2. Install Langflow with the default options in the `langflow` namespace:
```shell
helm install langflow-ide langflow/langflow-ide -n langflow --create-namespace
```
3. Check the status of the pods:
```shell
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:
```shell
kubectl port-forward -n langflow svc/langflow-service-backend 7860:7860
```
2. Make the visual editor accessible from your local machine at port 8080:
```shell
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`](https://github.com/langflow-ai/langflow-helm-charts/blob/main/charts/langflow-ide/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:
```yaml
langflow:
backend:
image:
tag: "1.0.0a59"
frontend:
image:
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](/configuration-custom-database), use `postgresql` chart or `externalDatabase` to configure the database connection in `values.yaml`.
<Tabs>
<TabItem value="postgresql" label="postgresql" default>
Use the built-in PostgreSQL chart:
```yaml
postgresql:
enabled: true
auth:
username: "langflow"
password: "langflow-postgres"
database: "langflow-db"
```
</TabItem>
<TabItem value="externaldatabase" label="externalDatabase">
If you don't want to use the built-in PostgreSQL chart, set `postgresql.enabled` to `false`, and then configure the database connection in `langflow.backend.externalDatabase`:
```yaml
postgresql:
enabled: false
langflow:
backend:
externalDatabase:
enabled: true
driver:
value: "postgresql"
port:
value: "5432"
user:
value: "langflow"
password:
valueFrom:
secretKeyRef:
key: "password"
name: "your-secret-name"
database:
value: "langflow-db"
sqlite:
enabled: false
```
</TabItem>
</Tabs>
### 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](/memory), you must also set up a shared database when scaling horizontally.
```yaml
langflow:
backend:
replicaCount: 1
resources:
requests:
cpu: 0.5
memory: 1Gi
# limits:
# cpu: 0.5
# memory: 1Gi
frontend:
enabled: true
replicaCount: 1
resources:
requests:
cpu: 0.3
memory: 512Mi
# limits:
# cpu: 0.3
# memory: 512Mi
```
## See also
* [Best practices for Langflow on Kubernetes](/deployment-prod-best-practices)
* [Deploy the Langflow production environment on Kubernetes](/deployment-kubernetes-prod)
* [Langflow Helm Charts repository](https://github.com/langflow-ai/langflow-helm-charts)