Langflow私有化部署:内网安装完全指南

Langflow私有化部署:内网安装完全指南

【免费下载链接】langflow ⛓️ Langflow 是 LangChain 的用户界面,使用 react-flow 设计,旨在提供一种轻松实验和原型设计流程的方式。 【免费下载链接】langflow 项目地址: https://gitcode.com/GitHub_Trending/la/langflow

概述

在企业级AI应用开发中,数据安全和网络隔离是首要考虑因素。Langflow作为LangChain的可视化界面,提供了强大的AI工作流设计能力。本文将详细介绍如何在完全隔离的内网环境中部署Langflow,确保企业数据不出域,同时享受完整的AI开发体验。

环境准备

系统要求

组件最低配置推荐配置
CPU4核8核及以上
内存8GB16GB及以上
存储20GB50GB及以上
网络内网千兆内网万兆

软件依赖

# 必需组件
Docker 20.10+
Docker Compose 2.0+
Python 3.8+ (可选,用于自定义构建)

# 可选组件
PostgreSQL 14+ (生产环境推荐)
Redis 6+ (用于任务队列)

内网部署方案

方案一:基础Docker部署(推荐)

1. 准备部署文件

创建部署目录结构:

mkdir -p langflow-private/deploy
cd langflow-private/deploy
2. 创建Docker Compose配置

创建 docker-compose.yml 文件:

version: '3.8'

services:
  langflow:
    image: langflowai/langflow:latest
    container_name: langflow-app
    ports:
      - "7860:7860"
    environment:
      - LANGFLOW_DATABASE_URL=sqlite:////app/langflow/langflow.db
      - LANGFLOW_CONFIG_DIR=/app/langflow
      - LANGFLOW_AUTO_LOGIN=true
    volumes:
      - langflow_data:/app/langflow
    restart: unless-stopped

  # 可选:内网数据库服务
  postgres:
    image: postgres:16
    container_name: langflow-db
    environment:
      POSTGRES_USER: langflow
      POSTGRES_PASSWORD: langflow123
      POSTGRES_DB: langflow
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  langflow_data:
  postgres_data:
3. 创建环境配置文件

创建 .env 文件:

# Langflow 配置
LANGFLOW_SUPERUSER=admin
LANGFLOW_SUPERUSER_PASSWORD=admin123
LANGFLOW_AUTO_LOGIN=true

# 数据库配置(如果使用PostgreSQL)
POSTGRES_USER=langflow
POSTGRES_PASSWORD=langflow123
POSTGRES_DB=langflow
LANGFLOW_DATABASE_URL=postgresql://langflow:langflow123@postgres:5432/langflow
4. 启动服务
# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose logs -f

方案二:完全离线部署

1. 准备离线镜像

在内网环境中,需要提前下载所有依赖镜像:

# 在外网环境中拉取镜像
docker pull langflowai/langflow:latest
docker pull postgres:16

# 保存镜像为tar文件
docker save -o langflow-image.tar langflowai/langflow:latest
docker save -o postgres-image.tar postgres:16

# 在内网环境中加载镜像
docker load -i langflow-image.tar
docker load -i postgres-image.tar
2. 自定义Dockerfile

创建自定义Dockerfile以包含所有内网依赖:

FROM langflowai/langflow:latest

# 设置内网镜像源
RUN echo "[global]" > /etc/pip.conf && \
    echo "index-url = http://internal-pypi.example.com/simple" >> /etc/pip.conf && \
    echo "trusted-host = internal-pypi.example.com" >> /etc/pip.conf

# 添加内网证书(如果需要)
COPY internal-ca.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates

WORKDIR /app

# 暴露端口
EXPOSE 7860

CMD ["python", "-m", "langflow", "run", "--host", "0.0.0.0", "--port", "7860"]
3. 构建自定义镜像
docker build -t internal/langflow:1.0.0 .

网络配置

内网访问配置

mermaid

防火墙规则

端口协议方向用途建议
7860TCP入站Langflow Web界面限制内网IP段
5432TCP入站PostgreSQL数据库仅限应用服务器
6379TCP入站Redis缓存仅限应用服务器

数据持久化配置

存储卷配置

volumes:
  langflow_data:
    driver: local
    driver_opts:
      type: nfs
      o: addr=192.168.1.100,rw
      device: ":/data/langflow"

  postgres_data:
    driver: local
    driver_opts:
      type: nfs  
      o: addr=192.168.1.100,rw
      device: ":/data/postgres"

备份策略

#!/bin/bash
# 备份脚本
BACKUP_DIR="/backup/langflow"
DATE=$(date +%Y%m%d_%H%M%S)

# 备份数据库
docker exec langflow-db pg_dump -U langflow langflow > $BACKUP_DIR/db_$DATE.sql

# 备份应用数据
tar -czf $BACKUP_DIR/app_$DATE.tar.gz /data/langflow

# 保留最近7天备份
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

安全配置

身份认证强化

environment:
  - LANGFLOW_AUTH_TYPE=jwt
  - LANGFLOW_JWT_SECRET=your-internal-secret-key
  - LANGFLOW_SUPERUSER=admin
  - LANGFLOW_SUPERUSER_PASSWORD=strong-password-here
  - LANGFLOW_USER_AUTO_CREATE=false

网络隔离

# 创建内部网络
docker network create --internal langflow-internal

# 在docker-compose中添加网络配置
networks:
  internal:
    internal: true
    driver: bridge

监控与维护

健康检查配置

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:7860/health"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 40s

日志管理

logging:
  driver: "json-file"
  options:
    max-size: "10m"
    max-file: "3"

故障排除

常见问题解决

问题现象可能原因解决方案
无法访问7860端口防火墙限制检查内网防火墙规则
数据库连接失败网络隔离确保数据库网络可达
镜像拉取失败镜像仓库不可达使用离线镜像部署

诊断命令

# 检查容器状态
docker ps -a
docker logs langflow-app

# 检查网络连通性
docker exec langflow-app ping postgres
docker exec langflow-app curl -I http://localhost:7860

# 检查资源使用
docker stats langflow-app

性能优化

资源限制配置

deploy:
  resources:
    limits:
      cpus: '2'
      memory: 4G
    reservations:
      cpus: '1'
      memory: 2G

数据库优化

-- PostgreSQL性能优化
ALTER DATABASE langflow SET work_mem = '16MB';
ALTER DATABASE langflow SET maintenance_work_mem = '256MB';
ALTER DATABASE langflow SET random_page_cost = 1.1;

升级维护

版本升级流程

mermaid

总结

Langflow内网私有化部署为企业提供了安全可靠的AI工作流开发环境。通过合理的网络规划、资源分配和安全配置,可以构建出高性能、高可用的内网AI开发平台。本文提供的部署方案经过实践验证,能够满足大多数企业的内网部署需求。

关键优势:

  • 数据完全内网隔离,确保安全合规
  • 支持离线部署,适应各种网络环境
  • 灵活的扩展性,可根据业务需求调整
  • 完善的监控维护体系,保障服务稳定性

通过遵循本文的部署指南,企业可以快速建立起属于自己的AI应用开发平台,加速AI技术在内网环境中的落地应用。

【免费下载链接】langflow ⛓️ Langflow 是 LangChain 的用户界面,使用 react-flow 设计,旨在提供一种轻松实验和原型设计流程的方式。 【免费下载链接】langflow 项目地址: https://gitcode.com/GitHub_Trending/la/langflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值