部署指导
一,准备工作
- 联网的 x86-64 架构的 Linux 服务器一台(示例:ubuntu 24.04 LTS 64 bit),配置不低于 2 核 4 GB(如果会话聊天内容包含大量文件,还需要有较大的磁盘空间)
- 已经备案的域名,且备案主体与当前企业主体相同或有关联关系的域名,详情参考企微官方配置指引
- 已开通企业微信
二,服务部署
1,安装 docker
shell
sudo curl -sSL https://get.docker.com/ | CHANNEL=stable sh
如果是境内服务器,可能会安装不了,请参考华为云提供的安装方法。
2,下载最新代码
shell
git clone https://gitee.com/zmxkf/qiweidoc.git
cd qiweidoc
cp .env.prod .env
3,运行
切换到 docker 目录:
shell
cd docker
创建 compose 项目文件:
touch .env
编辑 .env 文件
shell
# 如果是新部署的就随便取一个名字,如果之前部署过并且需要保留之前的数据,那么参考下面的说明
COMPOSE_PROJECT_NAME=qiweidoc
COMPOSE_FILE=docker-compose-prod.yml
# 如果需要自动配置 https 证书,请配置如下
# ACME_DOMAINS=zhimahuihua.com,demo.zhimahuihua.com
# ACME_EMAIL=shellphy@2bai.com.cn
说明:如果之前是通过docker镜像直接启动的,运行命令:
docker ps | grep main-1 | awk '{print $NF}' | awk -F'-' '{print $1}'
可以得到原compose项目名,然后把该名称填充到 COMPOSE_PROJECT_NAME 中。
比如之前部署过项目,运行命令:
$ docker ps | grep main-1 | awk '{print $NF}' | awk -F'-' '{print $1}' zm_session_archive
那么 .env 中的 COMPOSE_PROJECT_NAME 应该填写
zm_session_archive
最后把旧的容器停止并删除:shelldocker compose down
再运行:
shell
docker-compose up -d
4,配置 nginx(可选)
容器默认会监听服务器的 80 端口 和 443 端口,如果你的服务器上有 nginx 而且也监听了 80 端口和 443 端口,可能会出现端口冲突,应该通过环境变量来修改默认端口号,如:
shell
echo EXTERNAL_HTTP_PORT=8080 > .env
echo EXTERNAL_HTTPS_PORT=4443 >> .env
再运行:
shell
docker-compose up -d
nginx 配置示例如下:
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1200s;
}
}
5,更新
shell
git pull
cd docker
docker compose pull
docker compose restart