Docker 部署 Snipe-IT 完整教程:自建开源的 IT 资产管理系统

Docker 部署 Snipe-IT 完整教程:自建开源的 IT 资产管理系统

2026-11-06 12:30:02 1点赞 0收藏 0评论

Snipe‑IT是什么?

一款开源、面向 IT 与固定资产的 Web 资产管理系统

拥有完善的简体中文界面,全球社区活跃、生态成熟,支持设备台账登记、序列号与保修管理、二维码标签生成、资产领用归还、配件耗材、软件 License 管控、折旧核算、权限管理、SSO/LDAP 登录以及 REST API 对接;采用 Laravel 开发,依赖 MySQL/MariaDB 数据库,适合运维、小团队用来统一管理电脑、服务器、网络设备、数码硬件等资产,自带审计日志与多维度报表。

为什么用?使用场景

小公司,有一些ECS,域名,证书等需要管理,经常过期了都不知道,一旦停机,引起的损失和客诉很严重,所以部署snipe-it用于资产和许可证期限管理,及时通知ECS,域名等过期时间

典型场景距离:

  1. 运维机房IT资产盘点:登记服务器、交换机、防火墙、UPS,记录SN、MAC、机房机位、维保到期时间,生成二维码贴设备,巡检扫码核对,到期自动提醒维保

  2. 公司办公电脑/外设管理:笔记本、台式机、显示器、键鼠、打印机登记到人,员工入职分配、离职回收,全程留审计日志,方便盘点和追责

  3. 软件License授权管控:记录Office、设计软件、虚拟化授权密钥、授权总数、到期时间,防止超量授权、忘记续费

  4. 研发团队工具设备台账:开发板、示波器、测试仪器、相机、移动硬盘,记录存放位置、借用人,避免工具丢失、找不到责任人

  5. 固定资产财务对账:录入采购价格、启用日期,按规则自动折旧,导出资产报表给财务对账,盘点核对账面资产

  6. 门店/分支机构跨地点资产管理:按仓库、门店、办公室划分位置,区分多地资产,总部统一查看、下发盘点清单

  7. 外包/驻场人员设备管控:临时给外包人员分配设备,项目结束一键回收,跟踪设备流转

  8. 配件耗材库存管理:电源、内存条、硬盘、网线等配件绑定主资产,记录库存,配件领用消耗可追溯

  9. 家庭/个人数码收藏台账:相机、镜头、游戏机、耳机、显示器,记录购买渠道、保修、发票附件,方便整理和出二手时查询信息

  10. 教育学校机房电脑管理:按班级、机房分组,记录电脑配置,学期初分配、期末盘点,统计故障设备

image-20261104232353571image-20261104232353571

功能特性

  • 资产全台账管理:录入设备型号、序列号、SN、MAC、存放位置、购买日期、保修到期日、供应商、价格、图片附件

  • 二维码/条形码生成打印:每一项资产自动生成标签,手机扫码快速查看、盘点

  • 资产领用归还流程:支持分配给用户、:支持分配给用户、归还、转移,完整审计日志,记录操作人、时间

  • 软件许可证管理:单独管理授权密钥、授权数量、到期时间,避免超授权使用

  • 配件与耗材管理:显示器、电源、网线等配件绑定主资产,跟踪库存消耗

  • 资产折旧计算:内置多种折旧方式,自动计算资产净值,生成财务相关报表

  • 多用户细粒度权限:管理员、普通用户、盘点员等角色,控制查看/编辑/审批权限

  • RESTful API:支持脚本、自动化工具对接,批量导入导出资产数据

  • 邮件提醒:保修到期、许可证到期、资产待归还自动发通知

  • 自定义字段:根据需求新增字段,适配服务器、相机、家电等不同类型资产

  • 分类、部门、位置结构化管理:树形归类,适合机房、办公室多地点盘点

Github项目地址:https://github.com/snipe/snipe-it

在线体验Demo:https://demo.snipeitapp.com/

image-20261104232748409image-20261104232748409

安装部署Snipe‑IT

1、准备环境

mkdir /opt/snipe-it /opt/snipe-it/snipe-uploads /opt/snipe-it/snipe-private cd /opt/snipe-it

挂载数据目录说明:

a. snipe-uploads(公有文件存储)

  • 资产图片、资产型号图

  • 分类、厂商、部门、位置的图标 / 图片

  • 用户头像

  • 系统 Logo、自定义页面图片

  • 二维码 / 条码临时生成图片

注:浏览器可以直接公开访问,适合图片类资源

b. private_uploads(私有附件)

  • 发票 PDF、保修合同、说明书、驱动包、许可证书

  • 软件 License 密钥附件、EULA 协议文件

  • 盘点审计附件、导入的 CSV 文件、签字回执

注:不能直接外网访问,需要登录鉴权才能下载,非常重要

支持的数据库类型:MySQL 5.7+、MariaDB(推荐 MariaDB 10.11+)

2、Docker Compose配置

使用已有数据库

Docker Compose配置:

services: snipeit: image: snipe/snipe-it:latest container_name: snipeit restart: unless-stopped ports: - "8090:80" env_file: .env volumes: - ./snipe-uploads:/var/www/html/public/uploads - ./snipe-private:/var/www/html/storage/private_uploads

.env配置示例

APP_KEY=base64:eW6GpjpczaRZtvUGeQdRfwjPapgKdG85wKpG7QLlJXc= APP_URL=http://192.168.50.111:8090 APP_LOCALE=zh-CN APP_TIMEZONE=Asia/Shanghai DB_CONNECTION=mysql DB_HOST=DBIP DB_DATABASE=snipe DB_USERNAME=root DB_PASSWORD=123456 DB_ROOT_PASS=123456

修改数据库配置:

DB_CONNECTION=mysql DB_HOST=DBIP DB_DATABASE=snipe DB_USERNAME=root DB_PASSWORD=123456 DB_ROOT_PASS=123456

APP_KEY使用终端工具生成,加上base64前缀,命令如下:

openssl rand -base64 32

不适用已安装的数据库,附带单独数据库配置

version: '3.8' services: snipeit: image: snipe/snipe-it:latest container_name: snipeit restart: unless-stopped ports: - "8090:80" env_file: .env depends_on: - snipe-db volumes: - ./snipe-uploads:/var/www/html/public/uploads - ./snipe-private:/var/www/html/storage/private_uploads networks: - snipe-net snipe-db: image: mariadb:10.11 container_name: snipe-db restart: unless-stopped volumes: # 这里改为Docker命名卷 snipe-db-data - snipe-db-data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS} - MYSQL_DATABASE=snipeit - MYSQL_USER=snipe - MYSQL_PASSWORD=${DB_PASSWORD} networks: - snipe-net networks: snipe-net: # 在最底部声明这个命名卷 volumes: snipe-db-data:

启动应用

docker compose up -d

3、Docker命令行

1)下载Docker镜像

docker pull snipe/snipe-it:latest

2)使用Docker命令行启动容器

docker run -d --name snipeit --restart unless-stopped --network 你的数据库网络名 -p 8090:80 --env-file .env -v ./snipe-uploads:/var/www/html/public/uploads -v ./snipe-private:/var/www/html/storage/private_uploads snipe/snipe-it:latest

Snipeit使用教程

1、初始化

使用http://服务器IP:8090登录

image-20261104233859794image-20261104233859794

首先进行应用预检,检查配置是否正确、数据库表是否创建

创建管理员用户

image-20261104234317806image-20261104234317806

设置界面语言、默认货币

image-20261104234440695image-20261104234440695

2、录入一些基础数据

通过设置维护字典,通过导入CSV数据

image-20261105000816827image-20261105000816827

示例:

  • 制造商:联想、戴尔、华硕、索尼等品牌

  • 分类:笔记本、显示器、服务器、镜头、耳机、软件许可、耗材

  • 资产型号:同一型号统一建一条,后续资产绑定型号(统一规格、图片、参数)

  • 位置:机房、办公室、家里书房、储藏柜(支持树形层级)

  • 状态标签:闲置、已领用、维修中、报废、待验收(可以设置不同颜色标记)

以制造商为例,导入事先准备好的CSV文件

image-20261105001131115image-20261105001131115

点击导入按钮

image-20261105001303484image-20261105001303484

选择已上传的数据文件,点击操作

选择导入类型,制造商

image-20261105001357092image-20261105001357092image-20261105001500344image-20261105001500344

类似的,导入分类、位置、标签状态等字典基础数据

image-20261105002453664image-20261105002453664

自定义字段(非常好用)

设置→自定义字段,新增: 例:保修截止日期、购买渠道、发票编号、校准日期、硬盘 SN、固件版本

邮件通知(可选)

设置→通知,配置 SMTP;到期保修、归还提醒自动发邮件

3、资产入库

资产入库有两种方式

  • 手动新增:顶部【新建→资产】 必填:资产标签(内部盘点编号,自定义编码,比如 IT-001)、型号、状态;序列号、购买价格、保修、附件(发票 PDF)按需填

  • CSV 批量导入(大量资产首选) 【工具→导入】,下载官方模板,填好 SN、标签、型号、价格,一键导入,适合历史台账迁移

技巧:资产图片放型号里,同型号所有资产共用一张图,减少重复上传

4、领用 / 归还

  1. 资产详情页 → 【借出】,分配给用户 / 某个位置,填写备注,自动写入审计日志

  2. 回收时点【归还】,记录归还时间、状态(是否故障)

审计日志:谁拿的、什么时候借出、什么时候归还,不可删除

5、库存盘点

使用二维码 / 条码盘点

  1. 单资产:资产详情页直接打印二维码

  2. 批量打印:勾选多个资产 → 批量操作 → 生成标签 PDF

  3. 手机浏览器直接扫码打开资产卡片,现场盘点、修改状态、登记故障,不需要单独 APP

6、许可证管理

新建→许可证,录入:授权名称、密钥、总授权数、允许使用次数、最少数量、到期时间、供应商等, 然后分配给用户

系统统计已使用授权数量,防止超授权

7、耗材

新建→配件:内存条、电源、网线、硬盘,绑定主资产,记录库存、领用消耗 和普通硬件资产区分:配件不独立做借出流程,只做库存消耗

使用技巧

1、增大上传限制(发票、大图上传报错)

修改图片大小

PHP_UPLOAD_LIMIT=100M

2、搜索过滤技巧

  • 列表页可以自定义显示列:勾选 SN、保修日期、价格、位置,隐藏无关字段

  • 保存常用筛选:比如【保修 30 天内到期】【已借出资产】【报废资产】,一键切换看板

  • 顶部全局搜索:支持资产标签、序列号、备注、型号模糊检索

3、高效运维

初始化、维护一次录入数据比较多,可使用脚本+API方式,更高效

自带 REST API,可以脚本批量新增资产、同步盘点结果、对接监控平台;大量运维玩家写脚本自动录入服务器硬件信息

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松