部署指引
企业微信 × Notion 生产进度录入系统 — 云服务器部署
1 上传项目到服务器
将整个 wecom-notion-sync 目录上传到你的云服务器。可以用 scp、rsync 或 SFTP 工具:
scp -r wecom-notion-sync/ root@你的服务器IP:/opt/
rsync -avz wecom-notion-sync/ root@你的服务器IP:/opt/wecom-notion-sync/
也可以用宝塔面板、1Panel 等面板工具上传文件。
2 修改部署配置 必做
在服务器上编辑两个文件,填入你的域名:
① deploy/deploy.sh — 修改域名:
DOMAIN=progress.yourcompany.com
② .env — 填入企微配置 + 域名:
WECOM_CORP_ID=ww你的企业ID
WECOM_AGENT_ID=1000002
WECOM_SECRET=你的应用Secret
WECOM_REDIRECT_URI=https://progress.yourcompany.com/auth/wecom/callback
DEMO_MODE=false
3 运行一键部署脚本
SSH 登录服务器,执行部署脚本。脚本会自动安装 Node.js、PM2、Nginx,申请 SSL 证书,配置反向代理:
ssh root@你的服务器IP
cd /opt/wecom-notion-sync
chmod +x deploy/deploy.sh
sudo ./deploy/deploy.sh
脚本执行过程中会问你:
• 输入邮箱(用于 SSL 证书到期提醒)
• 同意服务条款 (Y)
• 是否分享邮箱 (N)
脚本完成后,你的应用已经通过 HTTPS 运行了。
4 配置企微可信域名 必做
这一步让企业微信信任你的域名,否则 OAuth 登录会报错:
- 登录 企业微信管理后台
- 应用管理 → 找到你创建的自建应用
- 「网页授权及JS-SDK」→ 设置可信域名 → 填入你的域名(不含 https://)
- 「企业可信IP」→ 添加你的服务器公网 IP
- 下载域名归属校验文件,上传到
public/ 目录下
域名归属校验:企微会要求你下载一个验证文件(如 WW_verify_xxxx.txt),放到网站根目录。把文件复制到 public/ 目录,然后 pm2 restart wecom-notion-sync 即可。
5 配置角色映射 必做
编辑 config/roles.json 的 user_role_mapping,把同事的企微 userid 映射到角色:
"user_role_mapping": {
"zhangsan": { "role": "production_planning", "name": "张三" },
"lisi": { "role": "production_tracking", "name": "李四" },
"wangwu": { "role": "raw_material_procurement", "name": "王五" }
}
查看同事的 userid:企微管理后台 → 通讯录 → 点击成员 → 账号栏。
修改后执行:pm2 restart wecom-notion-sync
6 验证 & 上线
验证清单:
- 浏览器访问
https://你的域名 — 应看到角色登录页
- 在企微中打开应用 — 应自动识别身份并跳转到表单
- 填写一条数据提交 — 去 Notion 对应数据库查看是否出现
🛠 日常运维命令
pm2 status
pm2 logs wecom-notion-sync
pm2 restart wecom-notion-sync
cd /opt/wecom-notion-sync
nano .env
nano config/roles.json
pm2 restart wecom-notion-sync
nginx -t && systemctl reload nginx
certbot certificates
certbot renew
⚠️ 前置条件检查
- 域名 DNS 已解析到服务器公网 IP(A 记录)
- 服务器安全组开放 80 和 443 端口
- 服务器防火墙放行 80 和 443 端口
- 服务器已安装 Node.js(脚本会自动安装,也可手动装)