InvenTree 快速上手:5 步上线自托管库存系统
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
InvenTree 是开源库存管理系统,自托管部署,零件、库存、采购、供应商的数据在同一个系统里。如果还在用电子表格对库存,这篇部署教程从一条真实的出入库流程讲起,覆盖扫码入库与 API 对接。
跟一条业务线走一遍
以一批 100nF 电容为例,采购、收货、领用是一条连续的链:界面上做完动作,系统把关键字段写进记录。
1. 建采购单在 Purchasing 页新建 PO,选供应商,添加一行"100nF 电容"并确认数量。系统留下 PO 单号、供应商、行项目与订货数量,后续收货都挂在这个单号下。
2. 收货入库打开这张 PO,对该行点"Receive",填写数量、库位和批次号后保存;也可以直接扫零件上的二维码标签完成。系统生成一条库存行,绑定以下字段:
- 库位:这批货的货架地址,如"WH-A-03"
- 批次:标记同一批到货的货,按批追溯用
- 数量:实际收到的件数
- PO 来源:库存行出自哪张采购单,即入库来源
3. 产线领用在 Stock 页找到该库存行,选"Remove",输入 50 提交;移动端 App 扫库存标签做同样的操作。系统留下一次数量变化,并记录操作人、操作时间与备注,零件总量即时扣减。
4. 核对跟踪历史打开库存项的 History 标签,按 Date / Action / Changes / User 四列核对每次变动。系统留下完整操作历史,审计时直接查这张表。
它是什么、给谁用
InvenTree 是专注物料全生命周期的轻量系统,不是 ERP(企业资源计划)或 PLM(产品生命周期管理)那类大而全的平台。
- 零件目录:多级分类、参数,每个零件挂自己的 BOM(物料清单)
- 库存台账:数量、库位、批次、序列号与移动记录
- 采购与供应商:下单、收货、状态跟踪,供应商和厂家档案、外部料号
- 条码操作:标签生成、扫码定位、扫码出入库
- 移动端:App 登录同一账号,扫码完成库存操作
边界一句话:总账与开票、生产排程、3D 设计数据它不碰,这些交给对应业务系统。
从零到第一个页面
准备:依赖与 .env
宿机装好 Docker 与 Docker Compose(容器编排工具,一条命令拉起整组容器)。进入 contrib/container/ 目录,编辑 .env:INVENTREE_DB_USER/INVENTREE_DB_PASSWORD填数据库账号密码,INVENTREE_EXT_VOLUME指定宿机上的持久化数据目录,INVENTREE_SITE_URL指定站点地址。更多变量说明见 docs/docs/start/docker_install.md。
启动:一条命令
git clone https://gitcode.com/GitHub_Trending/in/InvenTree cd InvenTree/contrib/container docker compose up -dPostgreSQL(数据库)、Redis(缓存)、Gunicorn(WSGI 服务器,Python 应用的正式运行器)等容器一次拉起。
验证:首访与第一条库存
浏览器打开站点,首次访问自动执行数据库迁移(建数据表),随后按提示创建管理员账号。再建两级零件分类、新建一个零件,给它录入库位和数量,第一条库存记录完成。
上生产把 Nginx(反向代理,负责流量转发)+ Gunicorn + Redis 叠上即可,配置可对照 contrib/container/nginx.conf 与 contrib/container/gunicorn.conf.py。
接入你的现有工作
API:Token 鉴权与自动文档
每个页面背后都是同一个 REST(标准 HTTP 接口风格)端点。在用户设置里生成 API Token(令牌,相当于钥匙),请求头带上即可;浏览器打开 /api/ 路径能看到自动生成的 OpenAPI(接口文档规范)文档,不用手写。
curl -H "Authorization: Token YOUR_TOKEN" "http://localhost:8000/api/part/"把库存数量同步到群机器人、从老系统拉采购单,都从这一行请求开始。
插件与权限
内置插件(条码、通知、标签打印)位于 src/backend/InvenTree/plugin/,每个 mixin(可插拔的能力钩子)是一个口子:validate 管数据校验,transition 管状态流转,如收货审批。权限按"用户 → 组 → 角色"组合,起步分管理员、库存管理员、只读三档即可,需要更细再拆角色;给管理员开 MFA(多因子认证)是强烈建议项。
常见问题与上手清单
数据库连不上,容器起不来?INVENTREE_DB_USER与INVENTREE_DB_PASSWORD没填或填错时,compose 会直接拒绝启动。补全 .env 后重新执行docker compose up -d。
页面能打开但样式丢失?挂载卷归属 root,非 root 的 Web 进程读不到静态文件。首次运行前把挂载目录授权给容器运行用户。
重启后数据变慢或状态丢失?默认内存缓存重启即丢,多 worker 下也不共享。直接用官方 compose 模板自带的 Redis 服务。
首次访问长时间转圈?数据库正在首次迁移建表,等迁移完成即可,不必重启容器。
上手清单:
- ☐ 完成部署并登录系统
- ☐ 建好零件分类树(≤ 3 层起步)
- ☐ 导入或录入首批 BOM
- ☐ 分配角色,配好扫码枪与手机
- ☐ 跑通一次"采购 → 收货 → 领用"闭环
全部勾选完成,这套自托管库存系统就正式进入日常运转 🎉
官方文档:docs/ · 前端源码:src/frontend/ · 后端源码:src/backend/
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考