Docker: Deploy snipe-it

Snipe-IT是一个免费的开源IT资产管理Web应用程序,可用于跟踪许可证,附件,消耗品和组件。 它是用PHP语言编写的,使用MySQL来存储数据。 它是一个跨平台的应用程序,适用于Linux,Windows和Mac OS X等所有主流操作系统。它可轻松与Active Directory,LDAP集成,并支持与Google Authenticator的双重身份验证。

实验环境:在CentOS 7上搭建的Docker平台

Pull snipe & mysql image

docker pull snipe/snipe-it
docker pull mysql:5.6

创建一个 my_env_file 

# Mysql Parameters
MYSQL_ROOT_PASSWORD=YOUR_SUPER_SECRET_PASSWORD
MYSQL_DATABASE=snipeit
MYSQL_USER=snipeit
MYSQL_PASSWORD=YOUR_snipeit_USER_PASSWORD

# Email Parameters
# - the hostname/IP address of your mailserver
MAIL_PORT_587_TCP_ADDR=smtp.whatever.com
#the port for the mailserver (probably 587, could be another)
MAIL_PORT_587_TCP_PORT=587
# the default from address, and from name for emails
MAIL_ENV_FROM_ADDR=youremail@yourdomain.com
MAIL_ENV_FROM_NAME=Your Full Email Name
# - pick 'tls' for SMTP-over-SSL, 'tcp' for unencrypted
MAIL_ENV_ENCRYPTION=tcp
# SMTP username and password
MAIL_ENV_USERNAME=your_email_username
MAIL_ENV_PASSWORD=your_email_password

# Snipe-IT Settings
APP_ENV=production
APP_DEBUG=false
APP_KEY=<<Fill in Later!>>
APP_URL=http://127.0.0.1:YOUR_PORT_NUMBER
APP_TIMEZONE=US/Pacific
APP_LOCALE=en

运行mysql镜像,需要在 my_env_file 文件目录运行

docker run --name snipe-mysql --env-file=my_env_file --mount source=snipesql-vol,target=/var/lib/mysql -d -P mysql:5.6

首先要生成一个APP KEY

docker run --rm snipe/snipe-it

输出如下:

[root@pc-cnc015 snipe]# docker run --rm snipe/snipe-it
Please re-run this container with an environment variable $APP_KEY
An example APP_KEY you could use is: 
base64:IitzyJbqJ0GoXjZyiox2M2qmRfihGb5sgWlo0WOBCGo=

将KEY添加到 my_env_file 文件的 APP KEY后,需要包含前缀 base64

运行snipe-it 镜像

docker run -d -p YOUR_PORT_NUMBER:80 --name="snipeit" --link snipe-mysql:mysql --env-file=my_env_file --mount source=snipe-vol,dst=/var/lib/snipeit snipe/snipe-it

打开浏览器,访问设置好的站点域名,检测相关条件是否符合
Config File 不影响,可以直接下一步

提示是否数据迁移,可以直接跳过

配置相关参数

完成保存后即可,并自动登录仪表台

LDAP同步设置
界面设置参考如下

LDAP过滤器完整格式

&(sAMAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2))

搭建测试的时候遇到过两个问题:
1、AD虽然同步成功了,但是无法登录: 可能我的账户不是最高的域管理员权限导致的
2、系统里面添加中文显示都正常,但是在导出所有内容的时候,中文全部显示乱码

参考文章:

CentOS下安装配置 Snipe-IT 4.4.1
SNIPE-IT Installation with Docker

Was this article helpful?

Related Articles