04_Dify 单独启动前端 Docker 容器

04_Dify 单独启动前端 Docker 容器

前言

本文介绍了在前后端分离开发场景下,部署Dify前端服务的两种Docker化方案。一是直接使用官方DockerHub镜像启动前端容器,支持最新版或指定版本,并配置后端API地址;二是通过源码本地构建自定义镜像后再启动。两种方法均通过环境变量配置控制台与应用的API连接,并提供了本地访问验证方式,适合后端开发者专注业务逻辑时快速启用前端界面。

一、直接使用 DockerHub 镜像

当单独开发后端时,可能只需要源码启动后端服务,而不需要本地构建前端代码并启动,因此可以直接通过拉取 docker 镜像并启动容器的方式来启动前端服务。

1.1 启动后端服务

查看教程:👉 Dify开源版使用源代码本地启动(一至五部分)

查看教程:👉 dify-plugin-daemon使用源码启动图文教程

1.2 使用 DockerHub 镜像启动前端 Docker 容器

获取最新版本

docker run -it -p 3000:3000 -e CONSOLE_API_URL=http://127.0.0.1:5001 -e APP_API_URL=http://127.0.0.1:5001 langgenius/dify-web:latest 

获取指定版本,搜索:
langgenius/dify-web Tags | Docker Hub

在这里插入图片描述
docker run -it -p 3000:3000 -e CONSOLE_API_URL=http://127.0.0.1:5001 -e APP_API_URL=http://127.0.0.1:5001 langgenius/dify-web:1.4.3 
在这里插入图片描述

二、使用源码构建 Docker 镜像

开发者首先需进入前端源码目录,使用docker build命令构建自定义镜像(例如命名为dify-web),随后再以类似方式运行容器。该方案同样提供了灵活的环境变量配置,并特别说明当控制台与应用的访问域名不一致时,可通过CONSOLE_URL和APP_URL变量分别进行设置。

2.1 构建前端镜像

cd web &&docker build . -t dify-web 

2.2 启动前端镜像

docker run -it -p 3000:3000 -e CONSOLE_API_URL=http://127.0.0.1:5001 -e APP_API_URL=http://127.0.0.1:5001 dify-web 

2.3 控制台域名设置

当控制台域名和 Web APP 域名不一致时,可单独设置 CONSOLE_URL 和 APP_URL

2.4 本地访问

访问地址:http://127.0.0.1:3000

在这里插入图片描述

登录成功:

在这里插入图片描述

三、总结

两种方案均将容器端口映射到主机的3000端口,启动后可通过访问 http://127.0.0.1:3000 来验证前端服务是否正常运行并登录。总而言之,第一种方案以极致的便捷性取胜,适合追求效率的标准开发流程;第二种方案则以构建的自主性和配置的灵活性见长。这两种互补的方案共同构成了一套实用工具箱,有效提升了Dify在前后端分离模式下的开发与部署效率。

Read more

【DGX Spark 实战】部署 vLLM + Open WebUI 运行 Qwen3-Coder-Next-FP8(CUDA 13.0 兼容版)-修订

【DGX Spark 实战】部署 vLLM + Open WebUI 运行 Qwen3-Coder-Next-FP8(CUDA 13.0 兼容版)-修订

感谢Qwen3-Coder-Next-FP8为本文进行润色,调整,绘制架构图。但是所有的文字及链接经过手工修订。需要SGLang推理框架,移步 【DGX Spark 实战】部署SGLang,千问3.5-27B模型初探 我们已严格按您提供的原始内容(包括 CUDA_VERSION=130、CPU_ARCH=aarch64、路径 ~/vllm、用户 admin 等)进行全量修正与标准化,确保所有命令与 DGX Spark 实际环境一致。 摘要本文详细记录在 NVIDIA DGX Spark(Grace Blackwell 架构)上部署 vLLM 推理服务并接入 Open WebUI 的完整流程,包含 FlashAttention 编译、vLLM wheel 安装、Qwen3-Coder-Next-FP8

By Ne0inhk
数据结构初阶之单链表

数据结构初阶之单链表

1.单链表的实现 我们不再过的的废话,直接来看关于单链表的一些功能函数: voidSLTPrint(SLTNode* phead);voidSLTPushBack(SLTNode** phead, SLTDataType x);voidSLTPushFront(SLTNode** phead, SLTDataType x);voidSTLPopBack(SLTNode** phead);voidSLTPopFront(SLTNode** phead); SLTNode*SLTFind(SLTNode* phead, SLTDataType x);voidSLTInsert(SLTNode** phead, SLTNode* pos, SLTDataType x);voidSLTInsertAfter(SLTNode* pos, SLTDataType x);voidSLTErase(SLTNode** phead, SLTNode* pos);voidSLTEraseAfter(SLTNode* pos);voidSListDesTroy(

By Ne0inhk

基于 Python 深度学习的电影评论情感分析算法

Bi-LSTM 情感分析算法详解 博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、ZEEKLOG博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅ Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 Python项目实战《100套》 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人 文章目录 * Bi-LSTM 情感分析算法详解 * 1. 算法概述 * 1.1 什么是 Bi-LSTM? * 为什么需要 LSTM? * 为什么需要双向? * 1.2 整体架构 * 2. 数据清洗与预处理 * 2.1 数据集介绍 * 2.2 情感标签生成

By Ne0inhk