服务器必须有超过4GB的内存!!!
Step 1: gitclone
git clone https://githubfast.com/langgenius/dify.git
//从GitHub服务器直接克隆可能会失败。其他GitHub镜像也可以。
Step 2: docker登录
docker login ghcr.io -u [your username] -p [your GitHub access token]
//此命令用自己的的GitHub帐户登录Docker Hub。Docker Hub限制未登录用户的连接。
Step 3: 拉镜像
docker pull nginx:latest
docker pull langgenius/dify-api:0.15.2
docker pull postgres:15-alpine
docker pull redis:6-alpine
docker pull langgenius/dify-web:0.15.2
docker pull langgenius/dify-sandbox:0.2.10
docker pull ubuntu/squid:latest
docker pull semitechnologies/weaviate:1.19.0
//上面列出的是单服务器运行(不使用外部弹性存储、缓存、CDN等)的必备镜像。手动拉,那个脚本“docker-compose.yaml”拉是一股脑一块儿拉,断一个全要重拉。
4 环境
cp .env.example .env
文件位置:/dify/docker
5 配置电子邮件
这个可以用RESEND API来发邮件;STMP也支持,请自行翻文档
编辑.env RESEND
搜索“RESEND”,把[RESEND API]和[ADMIN-EMAIL-ADDRESS]填里。
文件:/dify/docker/.env
6 HTTPS SSL证书配置(可选)
将[私钥]和[公钥]复制到/dify/docker/nginx/ssl
your-PublicKey.pem
your-PrivateKey.key
7 编辑 docker-compose-templete.yaml SSL(可选)
找到这些并定制
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-[your-domain-name] [your-host-ip]}
NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-true}
NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-[your-PublicKey-filename]}
NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-[your-PrivateKey-filename]}
文件位置:/dify/docker/docker-compose-templete.yaml
8 准备开动!!!
docker compose up -d
访问http://[your-domain]或者IP地址
开整!
这样装,重启compose以后不会崩掉。
之前装了三次崩了三次[哭泣]
One more thing:
对于在macOS(Docker Desktop Mac版本)上部署,可能报 Mount Denined, File Sharing之类的错误,但事实上跟那个没有关系。
原因是,macOS默认安装等情况下它不区分大小写,但macOS上的Docker Engine区分大小写。
所以,在macOS的Docker Desktop的设置里,添加一个小写字母的目录。(Docker默认“/Users”,首字母大写)
位置:Docker Desktop - 设置 - 资源 - 文件共享 - 目录,添加一个“/users”(全小写字母)