如何在 Linux 上通过 docker-compose 部署 Dify?

Dify 是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as a Service, BaaS)和 LLMOps 的理念,旨在帮助开发者快速构建和部署生成式 AI 应用。本篇文章将带您了解如何在本地环境中部署 Dify。通过本地部署,您可以更好地掌控数据和应用的运行环境,同时体验 Dify 强大的功能和灵活性。无论您是开发者还是对生成式 AI 应用感兴趣的技术爱好者,这篇指南都将为您提供清晰的步骤和实用的建议。

Dify 安装部署

Dify 提供 docker 方式安装,因此部署之前需要先安装 Docker, 至于 docker 的安装可以参考我之前的文章:

开始部署 Dify

1
2
3
4
5
6
7

git clone https://github.com/langgenius/dify.git

cd dify/docker

docker compose up -d

docker-compose 启动 dify 以后 可以看到 docker 容器列表中已经成功运行 7 个容器,但是只有 nginx 容易对外暴漏了端口,默认的 80。

使用浏览器打开 http://your_server_id 即可打开 dify 系统。

第一次需要先新建账号、密码,后续即可账号、密码登录开始使用 dify。

配置 https

在配置之前先读一下 dify/docker/certbot/README.md 里面介绍了两种启用 https 的方式。如何启用 https 在官网上反而没有找到。

设置域名解析,将域名解析到服务器对应的 IP。

修改配置文件 dify/docker/.env 中以下变量的值

1
2
3
4
5
6
7

NGINX_SSL_CERT_FILENAME=fullchain.pem
NGINX_SSL_CERT_KEY_FILENAME=privkey.pem
NGINX_ENABLE_CERTBOT_CHALLENGE=true
CERTBOT_DOMAIN=your_domain.com
CERTBOT_EMAIL=example@your_domain.com

先启动容器

1
2
3
4

docker network prune
docker compose --profile certbot up --force-recreate -d

等等容器启动以后,运行获取 letsencrypt 证书

1
docker compose exec -it certbot /bin/sh /update-cert.sh

证书获取成功后可以在宿主机的目录中找到 /root/dify/docker/volumes/certbot/conf/live/
也可以登陆容器,在容器的/etc/letsencrypt/live/ 目录下查看证书

修改 dify/docker/.env 开启 nginx https 配置。

1
NGINX_HTTPS_ENABLED=true

重新创建并启动nginx容器使得修改生效

1
docker compose --profile certbot up -d --no-deps --force-recreate nginx

–force-recreate nginx 强制重建 nginx 容器

至此就可以以 https 的方式访问 dify 了, 浏览器打开 https://your_domain.com

参考文档

Dify 安装使用说明

Dify 本地部署

Dify 配置 https 协议

Dify 本地部署(四)https 设置并绑定域名

如何在 Linux 上通过 docker-compose 部署 Dify?

https://pengtech.net/ai/install-dify.html

作者

鹏叔

发布于

2025-05-27

更新于

2025-05-28

许可协议

评论