
InvenTree 开源库存管理系统如何用 Docker 三步跑起来【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTreeInvenTree 是一个用 Python/Django 构建的开源库存管理系统把零件、库存进出、BOM 与采购订单集中在一个库里管理并提供网页管理界面和 REST API。项目附带官方移动应用扫码即可完成现场库存操作。它适合想把物料从 Excel 迁到自己服务器上的小团队、创客工作室和小型工厂。代码采用 MIT 协议发布无许可费用部署用一组官方提供的容器搞定。三个真实场景InvenTree 在哪用得上零件找不到、库存不敢信。硬件团队做原型时想确认某个电阻的可用数量纸质记录只能翻仓库。InvenTree 把零件放进树状分类里按关键词搜索就能看到当前数量和位置。出入库靠手写台账。仓库文员收货时逐单登记数字经常对不上。配合官方 App扫描物品条码就能完成收货确认每次操作都挂在对应订单上留痕可查。Excel 物料表多版本并存。小团队共用一张物料表列含义、版本号互相打架。InvenTree 把零件、分类、供应商统一存进数据库支持 CSV 批量导入历史记录随时可查。核心能力它能做什么树状零件库。零件支持多级分类每个零件可带描述、参数与图片。按分类或关键词检索即可定位任意物料替代「Excel 逐行找」的环节。库存全流程。库存条目支持位置间转移、状态变更和追溯记录。每次出入库都有轨迹一个料什么时候用掉、去了哪里随时可查。订单与 BOM 联动。采购订单、销售订单、生产订单与零件、库存条目互相引用。收货可以按订单确认生产时按 BOM 分配物料「要买→买→收→用」的链条保持在同一系统内。移动端条码操作。官方 App 支持 Android 与 iOS配合内置条码插件完成扫描。现场扫码即可完成收货、转移等操作不必回到电脑前。Docker 一键部署步骤官方在contrib/container/提供了面向生产的 Compose 配置包含三个文件docker-compose.yml、.env 和 Caddyfile。整个栈有五个容器PostgreSQL 数据库、gunicorn 网页服务、django-q 后台任务进程、Caddy 反向代理外加一个 Redis 缓存。按下面四步走即可。克隆仓库进入配置目录git clone https://gitcode.com/GitHub_Trending/in/InvenTree编辑.env文件至少配置INVENTREE_EXT_VOLUME宿主机上的持久化数据目录和数据库账号INVENTREE_DB_USER、密码INVENTREE_DB_PASSWORD。初始化数据库并创建管理员账号。该命令会安装依赖、建库、执行迁移并更新静态文件cd InvenTree/contrib/container docker compose run --rm inventree-server invoke update docker compose run inventree-server invoke superuser启动全部容器docker compose up -d启动后访问http://inventree.localhost即可看到登录页。要让局域网内其他设备访问把.env里的INVENTREE_SITE_URL改成机器 IP。如果填 https 域名Caddy 容器会自动申请证书配置在contrib/container/Caddyfile。进阶实践跑起来之后还能做的事批量导入存量数据。在数据导入功能里创建导入会话上传 CSV 后先确认列映射再逐批处理零件、分类、供应商数据都能走这条流程。模块代码在src/backend/InvenTree/importer/导入过程可以逐行检查、可回退。打印条码标签。内置标签插件支持模板编辑与打印模块位于src/backend/InvenTree/plugin/builtin/labels/可配合标签打印机让新入库物料从第一次入库就带码。开启低库存邮件提醒。在后台配置 SMTP 服务器与通知规则后系统自动发送提醒邮件发送过的邮件都能在 Email Settings 页面回查。自动 HTTPS。使用自带 Caddyfile 时只需把INVENTREE_SITE_URL设为域名即可启用自动证书签发前提是服务器 80/443 端口对外可达。扩展与集成方向REST API所有功能都暴露为接口浏览器里可直接打开 API 文档页做测试方便写自动化脚本。接口说明在 docs/docs/api/。插件系统内置插件在src/backend/InvenTree/plugin/builtin/覆盖条码、导出、标签、供应商比价等能力第三方插件可以 pip 安装或把代码放进数据目录的 plugins 子目录。二次开发官方文档 docs/docs/plugins/ 提供插件开发指南和脚手架工具前端 React 代码在src/frontend/需要改界面可以从这里入手。新手常见坑与排查方法Docker 报 failed to mount local volume确认INVENTREE_EXT_VOLUME指向的目录在宿主机上真实存在确认运行 Docker 的用户对该目录有写权限如果之前尝试过多种配置删除旧卷后从干净状态重来。登录失败或登录后立即掉线检查服务器访问设置用 HTTP 访问时把INVENTREE_SESSION_COOKIE_SECURE和INVENTREE_COOKIE_SAMESITE设为False。更新后页面提示 Error Rendering Component多为浏览器缓存按 Ctrl Shift R 强制刷新再试。数据「消失」上传文件、插件不见检查卷是否正确映射到本地目录用docker compose logs inventree-server查看启动日志定位。SQLite 报 Expression tree is too large这是 SQLite 的已知限制数据量大时改用 PostgreSQL 更稳妥。收尾下一步入口InvenTree 把零件、库存、订单、条码这几块做成了开箱即用的整体插件和 API 又给二次开发留足了空间。建议先按本文步骤部署一个实例跑通登录再顺着官方文档 docs/docs/start/ 熟悉配置项然后把移动 App 和条码标签用起来。【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考