n8n 私有化部署:让门店库存自己“报警”并自动走采购
你要的效果很明确:库存低于阈值就自动生成采购单,再提交钉钉审批,同时给店长推补货提醒。在 2026 年,n8n 用 Docker 私有化部署就能把这套流程跑得很稳,数据也留在自己服务器里。
部署要点:Docker + PostgreSQL,更像生产环境
建议直接用 Docker Compose 起两件套:n8n + PostgreSQL。关键环境变量别漏:N8N_HOST、N8N_PROTOCOL、WEBHOOK_URL、N8N_ENCRYPTION_KEY,不然回调地址会错,钉钉审批回调也容易丢。
- WEBHOOK_URL 配成你的公网域名(带 https)
- PostgreSQL 存工作流与执行记录,比内置 SQLite 抗压
- 权限上别用 tunnel 模式跑生产,接口尽量走内网或白名单
工作流拆解:低库存 → 采购单 → 钉钉审批 → 提醒补货
拿一个小案例:3 家门店,SKU=500 个,每天 09:05 跑一次;阈值设为20 件,低于就触发。
- 触发:用 Cron(固定时间)或 Webhook(库存系统推送变更)
- 取数:用 HTTP Request 拉库存 API,或直接查库(MySQL/PostgreSQL)
- 判断:IF 节点筛出 stock < threshold 的 SKU
- 生成采购单:用 Set/Code 组装字段(SKU、建议采购量、供应商、门店)后写入采购系统 API
- 钉钉审批:走钉钉开放平台接口;纯通知可用群机器人接口(形如 https://oapi.dingtalk.com/robot/send?access_token=xxx),加签名就用 timestamp+sign
- 提醒:审批发起成功后,再推一条给店长:缺货清单、预计到货时间、采购单号
2026 年可执行建议:让它更稳定、也更好管
把“阈值”和“建议采购量公式”做成一张配置表(按门店/品类区分),n8n 只读配置不写死逻辑。再加两条防呆:同一 SKU 在 24 小时内只生成1 张采购单;审批失败就自动转人工处理并抄送采购主管。你今天(2026年3月25日)就可以先用 10 个 SKU 做灰度,跑满 3 天再全量铺开。