介绍一些本地使用docker部署dify的几个小技巧
- dify在用docker compose up -d启动之后,运行之后satck(包含多个docker多个容器,便于管理)名字,默认是docker
最近有很多小伙伴问我,怎么修改这个名字,因为如果还用docker部署其他的程序,如果都用docker,另外的容器和dify的容器都会混合在一起,不便于管理,例如统一开启和关闭dify服务,这里我说下如何修改,其实非常简单,只需要将下载的dify源码里的docker文件夹重名名就可以,例如改成docker_dify
我这里不想重新部署dify了(作者比较懒),可以给大家看个部署ragflow的例子。
这里就是通过修改ragflow的源码中的docker文件夹为ragflow_ragflow实现的。
(ps:后边也会给大家讲讲ragflow,有想看的可以留言哈)
- 如果部署dify时使用的nginx的端口(host主机的)端口默认用了80端口,这时候如果用也docker部署其他的程序,如果其他程序也使用了80端口,这时候就会报错,所以建议修改80端口为88(或者其他的端口),避免冲突
对应修改的点是,dify源码中docker文件夹下.env文件中,见下图:
- dify运行起来之后,我们实际使用过程中可能会遇见一些报错,这些报错不少是可以通过修改.env文件来解决的,这里我就把可能出现报错点给大家说下,可以在最开始部署的时候就修改env,避免后边报错,在回来修改env需要重新部署的麻烦(如果每个问题改一次,要重新部署还几次,想想都要烦死了,希望看到这篇问文章的小伙伴,不用经历这些烦恼)
主要修改的如下图:
左边是修改后的.env,右侧是env.Example(默认配置)
# The sandbox service endpoint.
以下这几个是dify的代码执行节点,sandbox的一些配置项:
CODE_MAX_STRING_LENGTH=8000000
字符串的最大长度,处理产文本时,会超出,报错,建议加长
CODE_MAX_STRING_ARRAY_LENGTH=30000
字符串数组的元素的最大个数,处理文本分段较多时,会超出(原来只有30太少了),建议加长
CODE_MAX_OBJECT_ARRAY_LENGTH=30000
Object数组元素的最大个数,同上
CODE_MAX_NUMBER_ARRAY_LENGTH=10000
数字数组元素的最大个数,同上
TEMPLATE_TRANSFORM_MAX_LENGTH=800000
模板转换最大长度,同上
# Workflow runtime configuration
这个是工作流的配置项
WORKFLOW_MAX_EXECUTION_STEPS=5000
工作流的最大允许执行步骤数,超过报错,复杂工作流时可能会超过
WORKFLOW_MAX_EXECUTION_TIME=120000
工作流的最大允许执行时间,超时报错,工作流迭代较多时,执行的长文本处理时,耗时较长,可能会超时
这几个就是建议直接修改掉再部署,具体改成多大。可以根据大家的实际需要修改,原来默认配置太小了,很容易触发报错。