Dify 部署指南-离线版
Docker 部署
1、 访问 Docker 官网 (https://www.docker.com/) 获取安装包。
2、 上传 Docker 安装包
3、 进入解压目录,执行解压命令
tar xzvf docker-28、0.2、tgz
4、 将解压文件中的 Docker 相关文件移动到 /usr/bin/ 目录
sudo cp docker/* /usr/bin/
5、 创建 /etc/systemd/system/docker.service 文件
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5、 创建 /etc/systemd/system/docker.service 文件
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5、 创建 /etc/systemd/system/docker.service 文件
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
6、 添加启动权限
chmod +x /etc/systemd/system/docker.service
7、 创建/etc/docker/daemon.json文件,该文件用于配置镜像源
{
"data-root": "/gdc/app/docker24、0.6/docker-data",
"registry-mirrors": [
"https://docker.domys.cc",
"https://hub.domys.cc"
]
}
8、 启动Docker
systemctl daemon-reload --配置重载
systemctl start docker --启动
systemctl stop docker --停止
systemctl enable docker --开机启动
systemctl status docker --查看状态
9、 查看Docker版本
docker -v
Docker-Compose部署
1、 下载安装
Docker-Compose官网(https://github.com/docker/compose/releases)
2、 上传到Linux
上传到 /usr/local/bin 目录,不需要解压
3、 重命名
重命名为docker-compose
4、 添加执行权限
chmod +x /usr/local/bin/docker-compose
5、 查看Docker-Compose版本
docker-compose version
Dify部署
1、 下载zip包
社区版官网(https://github.com/langgenius/dify)
2、 上传到并解压
unzip dify-main.zip
3、 docker-compose安装dify
sudo cd dify-main/docker
cp .env.example .env
sudo docker-compose up -d
4、 Dify访问
先前往管理员初始化页面设置设置管理员账户
# 本地环境
http://localhost/install
# 服务器环境
http://your_server_ip/install
Dify 主页面
# 本地环境
http://localhost
# 服务器环境
http://your_server_ip
其他问题
镜像拉取失败
有大部分时候,你即使改了国内的镜像源也照样拉不到镜像,这个时候需要从已有的镜像中导出,然后再导入到新的机器中。
1、 离线镜像安装
docker save -o dify-web.tar langgenius/dify-web:1、1、1
docker save -o dify-api.tar langgenius/dify-api:1、1、1
docker save -o postgres.tar postgres:15-alpine
docker save -o nginx.tar nginx:latest
docker save -o dify-sandbox.tar langgenius/dify-sandbox:0.2、10
docker save -o squid.tar ubuntu/squid:latest
docker save -o weaviate.tar semitechnologies/weaviate:1、19、0
docker save -o redis.tar redis:6-alpine
docker save -o dify-plugin-daemon.tar langgenius/dify-plugin-daemon:0.0.6-local
docker save -o redis.tar redis:6-alpine
2、 加载离线镜像包【注意: 修改加载的路径】
docker load -i dify-web.tar
docker load -i dify-api.tar
docker load -i postgres.tar
docker load -i nginx.tar
docker load -i dify-sandbox.tar
docker load -i squid.tar
docker load -i weaviate.tar
docker load -i dify-plugin-daemon.tar
docker load -i redis.tar