在远程服务器上部署 Langflow
学习如何在您自己的远程服务器上部署 Langflow 并实现安全的 Web 访问。 本指南将引导您使用 Docker 在远程服务器上设置 Langflow,并使用 Caddy 配置安全的 Web 访问。
前置要求
- 一台配备双核 CPU 和至少 2GB RAM 的服务器。 本示例使用 Hetzner cloud 进行托管。您的部署可能会有所不同。
使用 SSH 连接到您的远程服务器
-
创建 SSH 密钥。 此密钥允许您远程连接到服务器。 将
[email protected]
替换为您要与 SSH 密钥关联的电子邮件地址。_10ssh-keygen -t ed25519 -C "[email protected]" -
在您的终端中,按照说明创建 SSH 密钥对。 这将同时创建私钥和公钥。 要从您的终端Replicate公钥,请输入以下命令:
_10cat ~/Downloads/host-lf.pub | pbcopy -
在您的远程服务器中,添加您在上一步中Replicate的 SSH 密钥。 例如,如果您使用的是 Hetzner 云服务器,请点击 服务器,然后选择 SSH 密钥 来添加 SSH 密钥。
-
要使用 SSH 连接到您的服务器,请输入以下命令。
_10ssh -i PATH_TO_PRIVATE_KEY/PRIVATE_KEY_NAME root@SERVER_IP_ADDRESS替换以下内容:
PATH_TO_PRIVATE_KEY/PRIVATE_KEY_NAME
:与您添加到服务器的公钥匹配的私钥文件路径SERVER_IP_ADDRESS
:您服务器的 IP 地址
-
当提示输入密钥指纹时,输入
yes
。 终端输出会显示连接成功或失败。 连接到 Hetzner 云服务器后返回以下响应:_10系统信息,2025年5月19日星期一 下午4:34:44 UTC_10_10系统负载: 0.0 进程数: 129_10/ 使用率: 1.5% of 74.79GB 登录用户: 0_10内存使用: 5% eth0的IPv4地址: 5.161.250.132_10交换使用: 0% eth0的IPv6地址: 2a01:4ff:f0:4de7::1
在您的服务器上部署 Langflow
既然您的本地计算机已通过 SSH 连接到远程服务器,您就可以安装 Docker,创建一个 docker-compose.yml
文件,并使用反向代理(如 Caddy)将其公开提供服务。
-
在您的服务器上安装 Docker。 由于此示例服务器是 Ubuntu 服务器,它可以安装 snap 包。 如果您不使用 Ubuntu 或您更喜欢其他安装方法,请参阅 官方 Docker 安装指南 获取适用于您操作系统的说明。
_10snap install docker -
创建一个名为
docker-compose.yml
的文件,然后在文本编辑器中打开它:_10touch docker-compose.yml && nano docker-compose.yml以下示例定义了来自
langflow:latest
镜像的 Langflow 服务和一个 Caddy 服务,通过反向代理暴露 Langflow。提示如果您更喜欢将仓库分叉到您的服务器,host-langflow 仓库提供了此
docker-compose.yml
和Caddyfile
的预构建副本。 -
将以下值添加到
docker-compose.yml
,然后保存文件。_26version: "3.8"_26_26services:_26langflow:_26image: langflowai/langflow:latest_26ports:_26- "7860:7860"_26environment:_26- LANGFLOW_HOST=0.0.0.0_26- LANGFLOW_PORT=7860_26_26caddy:_26image: caddy:latest_26ports:_26- "80:80"_26- "443:443"_26volumes:_26- ./Caddyfile:/etc/caddy/Caddyfile_26- caddy_data:/data_26- caddy_config:/config_26depends_on:_26- langflow_26_26volumes:_26caddy_data:_26caddy_config: -
创建一个名为
Caddyfile
的文件。_10touch Caddyfile && nano Caddyfile -
将以下值添加到
Caddyfile
,然后保存文件。 Caddyfile 配置 Caddy 在端口 80 上监听,并将所有传入的请求转发到端口 7860 上的 Langflow 服务。_10:80 {_10reverse_proxy langflow:7860_10} -
要部署您的服务器,请运行
docker-compose up
。 当出现Welcome to Langflow
消息时,Langflow 正在运行,并且在 Docker 网络内部可通过http://0.0.0.0:7860
访问。 -
要通过公共互联网访问您的 Langflow 服务器,请导航到您服务器的公共 IP 地址,例如
http://5.161.250.132
。 此地址使用 HTTP,因为 HTTPS 尚未启用。 -
推荐:启用 HTTPS:
-
修改您域名的 A 记录以指向您服务器的 IP 地址。例如:
_10Type: A_10Name: langflow_10Value: 5.161.250.132 # Set to your server's IP address -
停止您的服务器。
-
修改您的 Caddyfile 以包含端口
443
,这样 Caddy 就可以将 HTTP(端口 80)和 HTTPS(端口 443)请求都转发到 Langflow 服务:_10:80, :443 {_10reverse_proxy langflow:7860_10} -
启动您的服务器。
当用户访问您的域名时,Caddy 会识别传入的流量,并使用安全、加密的连接自动将其路由到您的服务器。
-
-
要退出您的 SSH 会话,请键入
exit
。
另请参阅
要将您的本地流程打包为自定义 Docker 镜像,请参阅 将 Langflow 应用程序容器化。
有关部署 Langflow 的分步指南,包括部署到 fly.io 和 Flightcontrol.dev,请参阅 如何在任何地方托 管 Langflow。