部署 - 使用 Docker

TIP

本章节由社区贡献者 @@hitechbeijing 提供。

容器运行

进入docker目录启动容器编排:

docker compose up dify-chat -d

浏览器访问http://127.0.0.1:8080/dify-chat/

容器默认暴露http端口8080,https端口8443,可修改.env文件配置环境变量

默认配置的docker镜像为多应用模式,如需自定义使用(如单应用模式)请自行构建docker镜像

使用certbot全自动签发letsencrypt免费ssl证书

在操作之前请编辑.env文件修改以下几个参数:

NGINX_HTTPS_ENABLED=true
#域名
NGINX_SERVER_NAME
#待申请证书的域名
CERTBOT_DOMAIN
NGINX_ENABLE_CERTBOT_CHALLENGE=true
#域名邮箱,随便写
CERTBOT_EMAIL
#更多证书申请参数,可留空
CERTBOT_OPTIONS

注意:请确保你配置的域名可以使用80端口访问到你的 dify-chat 站点,详见:https://eff-certbot.readthedocs.io/en/latest/install.html#alternative-1-docker

在docker目录执行命令即可全自动申请、签发证书:

docker-compose --profile certbot up

签发的证书在[docker/certbot/conf/live/你的域名]目录下。

注意:以上路径的证书文件为替身,如需将证书用在其他项目上需要在[docker/certbot/conf/archive/你的域名]目录下获取真实证书文件

`privkey.pem`  : the private key for your certificate.
`fullchain.pem`: the certificate file used in most server software.
`chain.pem`    : used for OCSP stapling in Nginx >=1.3.7.
`cert.pem`     : will break many server configurations, and should not be used
                 without reading further documentation (see link below).

![注意:证书需要定期续期]