
InvenTree开源库存管理3 种方式跑起来 4 个日常操作【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree周五下午要贴片你翻遍三个抽屉也没找到那颗 0603 晶振顺手查 Excel 才发现两周前下的采购单根本没收货。InvenTree 是一个开源库存管理系统用网页加移动端把零件、库存数量和采购订单放在同一张表里扫码就能知道东西在哪、还剩多少。项目全景它是什么、给谁用InvenTree 是一套自托管的开源库存管理系统后端是 Django 写的 Python 服务前端是 React 单页应用所有数据都存在你自己的 PostgreSQL 数据库里安装文档有完整说明。它面向电子爱好者、创客团队和小型制造企业管元器件这类零件时你可以给每个零件挂多级分类树、批次号、序列号再往下管到具体库存项的数量、存放位置和入库时间。采购侧从供应商档案、采购订单到收货入库是一条完整链路生产侧有 BOM 和工单可以按工单领料并自动扣减库存。和 Excel 或通用进销存软件的关键区别在于它内置条码扫描、批次/序列追溯、可配置的自定义状态外加一套完整的 REST API方便对接自己的脚本或 MES 系统。InvenTree 库存管理系统的主界面可在这里管理零件、库存与采购订单跑起来按你现在的状态选一条路只想先看效果 → Docker 三条命令官方把数据库、Web 服务器、反向代理、后台任务和 Redis 缓存都写进了一份 docker-compose.yml你只需要提供数据库账号密码和数据目录。在contrib/container/目录里建好.env后执行git clone https://gitcode.com/GitHub_Trending/in/InvenTree cd InvenTree/contrib/container cp .env-example .env # 填入数据库账号密码和数据目录 docker compose run --rm inventree-server invoke update docker compose run inventree-server invoke superuser docker compose up -d浏览器打开http://inventree.localhost就能看到登录页。数据库和文件都在容器外那个挂载目录里之后升级只需docker compose pull docker compose up -d。要改代码 / 二次开发改 后端源码 或插件的话用源码方式跑开发服务器开发文档。依赖装好后invoke update # 建库、跑数据库迁移 invoke createsuperuser # 创建管理员账号 invoke dev.server # 启动开发服务器访问 127.0.0.1:8000另开一个终端跑invoke worker启动后台任务进程否则导出、报表这类后台任务不会执行。准备正式跑生产生产建议 Gunicorn 加 Nginx 的组合Gunicorn 是 WSGI 服务器把 HTTP 请求翻译成 Python 调用的中间层Nginx 负责反代和静态文件。官方示例在 nginx.conf 和 gunicorn.conf.pygunicorn -c gunicorn.conf.py InvenTree.wsgi:application把 Nginx 的proxy_pass指到 Gunicorn 端口静态和上传目录给对应读写权限即可。日常怎么用4 个真实场景新建一条物料记录的点击路径左侧导航进 Part 页面点 New Part。表单按基本信息 → 分类 → 库存设置 → 供应商分块填写零件创建文档必填的只有名称和零件号。一个 4 脚 0603 电阻可以建母版再用变体批量生成 4.7k、10k 等具体值省得逐条敲。新建零件表单库存管理系统的零件记录按分块表单录入收货后扫码入库的三步操作采购单收货时勾选对应行选库存项的存放位置后系统会按该零件的条码模板生成批次号或序列号。之后在条码页面侧边栏扫码图标扫一下就会跳到这个库存项直接点转移改位置、点调整改数量历史全部留痕。扫码流程细节见内部条码文档。InvenTree 条码扫描页扫一次条码即可完成库存查询与入库操作盘点与导出报表Part 页面切到 Stocktake 标签系统会按分类生成一批待核对条目你填入实盘数量即可差异会自动算出仪表盘里还有一个盘点进度小部件盘点文档。月度盘点结果想留档就在表格右上角的导出菜单选格式CSV、Excel 都支持大表会丢给后台任务处理导出说明见数据导出文档。对接外部系统的最小 API 调用InvenTree 自带 OpenAPI 浏览页/api/每个端点能直接点按钮试。拿一个零件列表的最小示例认证用 Token在个人设置里生成import requests r requests.get(http://localhost:8000/api/part/, headers{Authorization: Token 你的TOKEN}) print(r.json()[count])更多端点库存项、采购单、工单在 api 文档 里都有 schema 说明。踩坑与提速本地启动报端口占用→8000被占了开发服务器默认监听这个端口 →invoke dev.server -a 127.0.0.1:8123换个端口。后台任务不执行、导出没动静→ 只起了 Web 服务没起 worker后台任务报表、导出、插件钩子全靠它 → 另开终端跑invoke workerDocker 部署里对应inventree-worker容器用docker compose ps确认它在跑。静态文件 404 或页面样式错乱→ 容器外的静态目录权限不对Caddy 读不到文件 → 重启前确认.env里INVENTREE_EXT_VOLUME指向的static、media目录存在且可读。条码里的链接打不开、邮件里的地址不对→INVENTREE_SITE_URL和浏览器实际访问的域名不一致 → 改.env里的值后docker compose up -d重启。要备份吗→ 要。数据库文件、上传的图片、导出的报告全在INVENTREE_EXT_VOLUME这一个目录里 → 定期整目录打包或docker compose run --rm inventree-server invoke export-records -f 路径导出 JSON。谁适合用它如果你是个人玩家、创客团队或几十人规模的工厂想把库存从抽屉和表格里挪出来InvenTree 值得花一个周末搭起来如果你要的是多仓库 WMS、条码打印机生态或现成的 SaaS 服务它给不了不必折腾。建议的第一步先花 10 分钟把分类树按功能 → 封装建两层再批量导入物料最后才配用户权限。官方文档docs/ — 安装、API、条码、插件开发的完整手册前端源码src/frontend/ — React 写的单页应用后端源码src/backend/ — Django 应用零件模型在 part/models.pyDocker 配置contrib/container/ — 生产级 compose 编排【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考