准备一台干净的linux 系统虚拟机或者云主机,避免出现端口被占用的问题特别是80端口
踩坑!
官方文档:Dify - 使用方法
https://www.dify-china.com/guide.html

javascript
cd /usr/local/
mkdir dify01
cd dify01
git clone https://gitee.com/leyuTV/dify.git
cd /usr/local/dify01/dify/docker/
sed -i 's/^REDIS_MAX_CONNECTIONS=.*/REDIS_MAX_CONNECTIONS=50/' .env
if ! grep -q "^REDIS_MAX_CONNECTIONS=" .env; then echo "REDIS_MAX_CONNECTIONS=50" >> .env; fi
docker compose up -d

javascript
[root@localhost docker]# docker logs docker-api-1 --tail 5
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for DifyConfig
REDIS_MAX_CONNECTIONS
Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='', input_type=str]
For further information visit https://errors.pydantic.dev/2.12/v/int_parsing
javascript
# 1. 停止并移除所有容器和网络 (清除旧的环境变量缓存)
docker-compose down
# 2. 检查当前值 (大概率是空的)
grep "REDIS_MAX_CONNECTIONS" .env
# 3. 如果为空或报错,写入默认值 50
# 如果文件里有这一行但是空的,这行命令会替换它;如果没有,会追加它
sed -i 's/^REDIS_MAX_CONNECTIONS=.*/REDIS_MAX_CONNECTIONS=50/' .env
if ! grep -q "^REDIS_MAX_CONNECTIONS=" .env; then echo "REDIS_MAX_CONNECTIONS=50" >> .env; fi
# 4. 再次确认已修改成功
grep "REDIS_MAX_CONNECTIONS" .env
# 5. 强制重新创建并启动所有服务
docker-compose up -d --force-recreate
# 6.等待 5 秒后检查 api, worker, worker_beat 的状态
sleep 5 && docker-compose ps api worker worker_beat
访问虚拟机IP + 80端口
