开源IT资产管理系统Snipe-IT

本文完成于 8 月初,正好网友 chenlit 在找用于管理固定资产容器和套件,不知道 Snipe-IT 是否能满足他的需求;

什么是 Snipe-IT ?

Snipe-IT 是一个用 PHP 编写的免费开源 IT 资产管理系统。Snipe-IT 专为 IT 资产管理而设计,使 IT 部门能够跟踪谁拥有哪台笔记本电脑、何时购买、有哪些软件许可证和配件可用等等。

整体界面风格和 Pi.Alert 几乎是一样的,应该是使用了同样的框架吧

注意事项

群晖内核版本太低会遇到下面的错误,这个 AH00141 已经遇到多次了,老苏除了换机器,也没找到其他的办法;

1
AH00141: Could not initialize random number generator

命令行安装

在群晖上以 Docker 方式安装。

老苏折腾时,latest 对应的版本为 v6.1.2

官方给出的 docker-compose 用到了 4 个容器

源文件地址:https://raw.githubusercontent.com/snipe/snipe-it/master/docker-compose.yml

老苏只是看看功能而已,没必要搞的太复杂,所以给精简到了 2 个。将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3'

services:
snipeit:
image: snipe/snipe-it:latest
container_name: snipeit
ports:
- "8024:80"
volumes:
- ./logs:/var/www/html/storage/logs
depends_on:
- mariadb
env_file:
- env.txt

mariadb:
image: mariadb
container_name: snipeit-db
volumes:
- ./data:/var/lib/mysql
env_file:
- env.txt

相应的设置文件 env.txt 也做了调整

env.txt 引用的内容来自 .env.docker,地址:https://github.com/snipe/snipe-it/blob/master/.env.docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# --------------------------------------------
# REQUIRED: DB SETUP
# --------------------------------------------
MYSQL_DATABASE=snipeit
MYSQL_USER=snipeit
MYSQL_PASSWORD=changeme1234
MYSQL_ROOT_PASSWORD=changeme1234

# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU=
APP_URL=http://192.168.0.199:8024
APP_TIMEZONE='Asia/Shanghai'
APP_LOCALE=zh-CN

# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=changeme1234

上面的参数一看就懂,就不做说明了,但是关于APP_ENV 要特别强调一下,必须设为 APP_ENV=production,如果是 develop 之类的其他值,会导致容器报错,日志中会看到

1
Class 'Laravel\Dusk\DuskServiceProvider' not found

原因可以百度到,这里就不展开了。

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 snipeit 和 子目录
mkdir -p /volume1/docker/snipeit/{data,logs}

# 进入 snipeit 目录
cd /volume1/docker/snipeit

# 将 docker-compose.yml 和 env.txt 放入当前目录

# 一键启动
docker-compose up -d

运行

第一次安装时间挺长的,注意观察容器 snipeit 的日志信息

在浏览器中输入 http://群晖IP:8024 ,第一次会看到向导界面

没有设置邮件,所以不用 Send Test,直接点 Next:Create Datebase Tables

数据库成功之后,点 Next:Create User

设置语言等,主要还是账号信息,完成后点 Next:Save User,就能看到主界面了

设置中文

右上角用户名边上的小三角,找到 Edit Your Profile

Language 中选择 Chinese Simplified

Save 之后,整个界面就是中文了

新增资产

现在可以开始初始化设置,比如公司、部门、人员、分组等,然后就可以添加各种资产了

作为一款老牌的软件,网上能找到中文的用户手册

参考文档

snipe/snipe-it: A free open source IT asset/license management system
地址:https://github.com/snipe/snipe-it

snipe/snipe-it - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/snipe/snipe-it/