
用 Snipe-IT 管好全公司 2000 台设备开源 IT 资产追踪的部署与配置【免费下载链接】snipe-itA free open source IT asset/license management system项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-itIT 部门的设备交接如果靠 Excel 和口头登记很快会变成一团乱账谁手里有什么设备说不清盘点一次伤筋动骨。Snipe-IT 是一套可以自托管的开源资产管理系统把台账、借还流转、标签盘点都搬进一个 Web 系统里扫码就能定位到设备。它是什么 / 技术栈Snipe-IT 定位是 IT 运维用的资产台账 软件许可管理系统管硬件的采购、分配、归还、折旧管软件 license 的席位管耗材和配件。它不是 CMDB——没有自动发现 agent设备信息靠人工录入、CSV 导入或 API 写入也不做工单和故障流程。技术栈是 Laravel 12 PHP 8.2 MySQL/MariaDB前端为 Blade 模板配 Livewire 交互和少量 Vue仓库自带 docker-compose.ymlapp 镜像snipe/snipe-it mariadb:11.4.7 两个容器一键起服务另有 Vagrant 和 Dockerfile 供裸机部署。项目托管在 GitCodeclone 地址见下文部署一节。能力地图按资产工作流走设备入库与台账批量导入走 UI 的 Import Assets 页Livewire 组件 app/Livewire/Importer.phpCSV 先行预览、逐行校验坏行会被 ImportRowRejected 拒绝并给出原因不会整批回滚后重传。资产标签自动编号在 Settings → Asset Tags 配置打开 auto-increment、设前缀如LAP-之后扫码入库只需填序列号标签号系统生成。台账结构是 model / category / supplier 三套字典hardware 列表页 直接按型号和状态标签Settings → Status Labels 自定义如可用/借出/维修中过滤。借还与生命周期流转设备生命周期管理分配/回收是明确的状态机自助申领走 CheckoutRequest 模型请求 → 管理员批准/拒绝/取消状态枚举见 app/Enums/CheckoutRequestState.php每一次动作都落 actionlog 表资产详情页的 History 板块就是这条日志。EULA 电子签收Settings → EULA 勾选后设备借出时用户必须打开签收页点同意签收记录存 checkout_acceptances 表——这是审计时用户知情的直接证据。三类易混物要分清楚consumable耗材借出不还、accessory配件随机流转可归还、component共享部件带库存数量三种流转规则不同建台账前先定义清楚。维护记录挂在设备页/hardware/{id}/maintenances可关联维护类型routes/web/ 下有独立维护类型管理折旧报表单独出。盘点与合规审计资产盘点二维码标签打印Settings → Labels 里选模板可带 logo、公司名labels 路由 批量出 PDF二维码里编码的是资产详情页 URL。审计报表/reports/audit 出审计报表/reports/depreciation 出折旧报表报表页都有 CSV 导出入口routes/web.php 中 reports 段。软删除而非物理删除删除资产会留痕在 actionlog审计导出时删过的设备也能追溯。集成与扩展LDAP 用户同步LDAP/ADSettings → LDAP 配好连接后同步命令是php artisan snipeit:ldap-sync源码 app/Console/Commands/LdapSync.php按 location 的 base_dn/filter 圈范围加--delete清理离职用户。SCIM 用户/组 provisioningroutes/scim.php 单独挂载可对接 IdP。REST APIroutes/api.php 下/api/v1认证走 Laravel Passport OAuth 或 personal access tokentoken 入口在个人账号页 Account → API。 从零到可用开发环境 5 分钟跑通本地装好 PHP 8.2 Composer 后以下命令序列即可git clone https://gitcode.com/GitHub_Trending/sn/snipe-it cd snipe-it composer install cp .env.example .env php artisan key:generate php artisan migrate php artisan serve生产环境 3 个必改配置用 docker-compose 起cp .env.docker .env后填值docker-compose up -d必改项如下配置项路径不改的后果数据库连接DB_HOST/DB_DATABASE/DB_USERNAME 等.envapp 容器连不上 compose 里的 mariadb 服务启动即报连接失败APP_ENVproduction APP_DEBUGfalse.env报错页直接暴露堆栈和配置细节HTTPS 反代docker/001-default-ssl.conf登录态、API token 明文走 HTTP等同裸奔邮件 SMTPconfig/mail.php .env借出通知、EULA 签收邮件发不出去用户侧流程断在半路⚠️ 踩坑与取舍标签扫码打开 127.0.0.1→ 原因QR 编码的是资产页 URLAPP_URL还是开发时的 localhost → 解法.env里把APP_URL改成外网域名php artisan config:cache清缓存后重印受影响批次。LDAP 首次同步只进来一小部分人→ 原因snipeit:ldap-sync按 location 上配置的 base_dn/filter 圈范围默认 filter 容易漏 OU → 解法先带--summary干跑核对数量确认无误再正式同步。开了 multi-company 后列表缩水→ 原因启用完整多公司后所有查询自动加公司 scope没挂公司的旧资产直接不可见 → 取舍不用多公司就别开要开就先把存量资产补齐公司归属。标签前缀/零填充位数改动→ 一旦改了 auto-increment 的前缀或补零位数旧标签与新编号体系不匹配扫旧标签 404 → 解法格式要变就整批重印别新旧混用。适合谁 / 不适合谁适合有自有服务器、设备量从几百到几千台、已有 AD/LDAP 的中小企业硬件 软件许可 耗材混合的 IT 团队需要给财务出折旧/审计证据的场景。 不适合想要多租户 SaaS 的——它的多公司是数据 scope 不是隔离边界想要 K8s 原生 stateless 部署的——官方形态就是 compose 有状态 MariaDB想要自动发现的 CMDB——没有内置 agent录入靠人工、CSV 或 API。建议先在 staging 跑一周导入 → 借出 → 印标签 → 扫码盘点全流程确认标签扫码跳转的 URL 前缀和打印模板都没问题再上生产。更多背景看 README.md。【免费下载链接】snipe-itA free open source IT asset/license management system项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考