首页
/ Snipe-IT Docker环境变量配置详解

Snipe-IT Docker环境变量配置详解

2025-07-06 04:10:43作者:宣聪麟

概述

Snipe-IT是一款开源的IT资产管理解决方案,使用Docker部署时需要通过环境变量配置各项参数。本文将深入解析docker-secrets.env文件中的关键配置项,帮助用户正确配置Snipe-IT的Docker环境。

基础应用配置

核心参数

APP_ENV=develop
APP_DEBUG=false
APP_KEY=Change_this_key_or_snipe_will_get_ya
APP_URL=http://127.0.0.1:32782
APP_TIMEZONE=US/Pacific
APP_LOCALE=en
  • APP_ENV:设置应用环境,develop为开发环境,production为生产环境
  • APP_DEBUG:调试模式开关,生产环境必须设为false
  • APP_KEY:应用加密密钥,必须修改为随机字符串
  • APP_URL:应用访问URL,必须与实际部署地址一致
  • APP_TIMEZONE:时区设置,建议根据实际位置调整
  • APP_LOCALE:默认语言设置

数据库配置

DB_CONNECTION=mysql
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
  • DB_CONNECTION:数据库类型,支持mysql/pgsql/sqlite等
  • DB_PREFIX:表前缀,null表示不使用前缀
  • DB_DUMP_PATH:数据库备份工具路径

邮件服务器配置

MAIL_MAILER=smtp
MAIL_TLS_VERIFY_PEER=${MAIL_TLS_VERIFY_PEER}
MAIL_FROM_ADDR=${MAIL_ENV_FROM_ADDR}
MAIL_FROM_NAME=${MAIL_ENV_FROM_NAME}
  • MAIL_MAILER:邮件驱动,支持smtp/mail/sendmail等
  • 其他邮件参数使用环境变量注入,提高安全性

图像处理库

IMAGE_LIB=gd

支持gd或imagick两种图像处理库,gd是默认选择,兼容性更好

会话配置

SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeit_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
  • SESSION_LIFETIME:会话有效期(分钟)
  • EXPIRE_ON_CLOSE:浏览器关闭后是否保持会话
  • SECURE_COOKIES:生产环境建议设为true

缓存配置

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
  • 默认使用文件缓存和会话存储
  • 生产环境建议使用redis等更高效的驱动

最佳实践建议

  1. 生产环境必须修改APP_KEY并保持其机密性
  2. 邮件配置建议使用实际SMTP服务器参数
  3. 数据库连接参数应通过Docker secrets管理
  4. 生产环境应将APP_DEBUG设为false
  5. 考虑使用.env文件管理敏感配置而非直接写入docker-compose

通过合理配置这些环境变量,可以确保Snipe-IT在Docker环境中稳定运行并发挥最佳性能。