JMI-OPENATOMJMI-OPENATOM
首页
快速开始
  • 架构概览
  • 项目结构
  • 认证与权限
  • 数据库迁移
  • 配置说明
  • 开发规范
  • 架构概览
  • 项目结构
  • 路由与权限
  • API 请求
  • 组件库
  • UniApp 小程序
  • Docker 部署
  • CI/CD
  • Nginx 反向代理
  • 环境变量
  • QQ 机器人
  • 实验室管理系统
  • API 权限清单
  • 数据库表结构
  • 常见问题
首页
快速开始
  • 架构概览
  • 项目结构
  • 认证与权限
  • 数据库迁移
  • 配置说明
  • 开发规范
  • 架构概览
  • 项目结构
  • 路由与权限
  • API 请求
  • 组件库
  • UniApp 小程序
  • Docker 部署
  • CI/CD
  • Nginx 反向代理
  • 环境变量
  • QQ 机器人
  • 实验室管理系统
  • API 权限清单
  • 数据库表结构
  • 常见问题
  • 部署运维

    • Docker 部署
    • CI/CD 持续集成与部署
    • Nginx 反向代理
    • 环境变量
    • GitHub Secrets 配置指南

环境变量

概述

系统通过环境变量管理敏感配置和多环境差异。所有环境变量均可在 docker-compose.yml 或 .env 文件中设置。

环境变量清单

Redis

变量名默认值说明
REDIS_PASSWORDopenatom123Redis 密码
REDIS_HOST127.0.0.1Redis 主机地址
REDIS_PORT6379Redis 端口
REDIS_DATABASE0Redis 数据库编号
REDIS_TIMEOUT5000msRedis 超时时间
REDIS_POOL_MAX_ACTIVE20连接池最大活跃数
REDIS_POOL_MAX_IDLE10连接池最大空闲数
REDIS_POOL_MIN_IDLE5连接池最小空闲数
REDIS_POOL_MAX_WAIT3000ms连接池最大等待时间

Sa-Token / JWT

变量名默认值说明
SA_TOKEN_JWT_SECRET_KEY开发环境默认密钥JWT 签名密钥(生产环境必须修改)
SA_TOKEN_TIMEOUT2592000Token 有效期(秒,默认 30 天)
SA_TOKEN_LOG_ENABLEDfalse是否开启 Sa-Token 日志

数据库连接池

变量名默认值说明
DB_POOL_NAMEopenatom-{env}-hikari连接池名称
DB_POOL_MAX_SIZEdev: 10 / prod: 20连接池最大大小
DB_POOL_MIN_IDLEdev: 2 / prod: 5连接池最小空闲
DB_CONNECTION_TIMEOUT_MS30000连接超时时间
DB_IDLE_TIMEOUT_MS600000空闲超时时间
DB_MAX_LIFETIME_MS1800000连接最大生命周期

前端构建参数

变量名默认值说明
VITE_APP_VERSION自动从 git 获取应用版本号
VITE_API_BASE_URLhttps://api.jmi-openatom.cn/api/v1后端 API 地址
VITE_OIDC_AUTHORITYhttps://oauth.jmi-openatom.cn/api/v1OIDC 认证地址
VITE_OIDC_CLIENT_IDopenatom-webOIDC 客户端 ID
FRONTEND_PORT18080前端映射端口
DOCS_PORT16000文档站映射端口

微信小程序

变量名默认值说明
APP_MINIAPP_APP_IDwx8c6b52ab95da0938微信小程序 AppID
APP_MINIAPP_APP_SECRETd15542dcaa23b92191962235dacef7b9微信小程序 AppSecret

AI(DeepSeek)

变量名默认值说明
DEEPSEEK_BASE_URLhttps://api.deepseek.comDeepSeek API 地址
DEEPSEEK_API_KEY(空)DeepSeek API Key
DEEPSEEK_MODELdeepseek-chatDeepSeek 模型名称
DEEPSEEK_TIMEOUT_SECONDS30DeepSeek 请求超时

QQ 机器人

变量名默认值说明
APP_BOT_CALLBACK_TOKEN(空)机器人回调 Token
APP_BOT_LEAVE_REVIEW_CALLBACK_URLhttp://127.0.0.1:6198/openatom/leave-review请假审批回调 URL
APP_NAPCAT_BASE_URLhttp://127.0.0.1:3000NapCat API 地址
APP_NAPCAT_ACCESS_TOKENsRtnBQJy-lqPTWjjNapCat 访问 Token
ASTRBOT_PORT6185AstrBot 面板端口
NAPCAT_PORT6099NapCat WebUI 端口
NAPCAT_UID1000NapCat 运行用户 UID
NAPCAT_GID1000NapCat 运行用户 GID

OIDC

变量名默认值说明
APP_OIDC_ISSUERhttps://oauth.jmi-openatom.cn/api/v1OIDC 签发者地址

文件存储

变量名Docker 默认值说明
APP_AVATAR_STORAGE_DIR/app/uploads/avatars头像存储目录
APP_IMAGE_HOSTING_STORAGE_DIR/app/uploads/images图床存储目录
APP_LEAVE_ATTACHMENT_STORAGE_DIR/app/uploads/leave-attachments请假附件存储目录
APP_DOCUMENT_TEMPLATE_STORAGE_DIR/app/uploads/document-templates文书模板存储目录
APP_GENERATED_DOCUMENT_STORAGE_DIR/app/uploads/generated-documents生成文书存储目录

限流

变量名默认值说明
APP_APPLICATION_SUBMIT_MAX_PER_SECOND5报名提交限流(次/秒)

日志

变量名默认值说明
LOG_LEVEL_ROOTINFO根日志级别
LOG_LEVEL_APPINFO应用日志级别
LOG_FILE./logs/openatom-system.log日志文件路径
TOMCAT_ACCESS_LOG_ENABLEDtrueTomcat 访问日志开关
TOMCAT_ACCESS_LOG_DIRlogs访问日志目录
TOMCAT_BASEDIR/tmp/openatom-systemTomcat 基础目录

Redis 缓存

变量名默认值说明
APP_REDIS_CACHE_ENABLEDtrueRedis 缓存开关
APP_REDIS_CACHE_KEY_PREFIXopenatom:cache缓存键前缀
APP_REDIS_CACHE_DEFAULT_TTL10m默认缓存过期时间
APP_REDIS_CACHE_SCAN_BATCH_SIZE500缓存扫描批量大小

CORS

变量名默认值说明
APP_CORS_ALLOWED_ORIGIN_PATTERNS*CORS 允许的来源

服务端口

变量名默认值说明
SERVER_PORT8921后端服务端口
MULTIPART_MAX_FILE_SIZE20MB上传文件最大大小
MULTIPART_MAX_REQUEST_SIZE20MB请求体最大大小

.env 文件示例

在项目根目录创建 .env 文件:

# Redis
REDIS_PASSWORD=your_strong_redis_password

# JWT
SA_TOKEN_JWT_SECRET_KEY=your_very_long_and_random_jwt_secret_key

# AI
DEEPSEEK_API_KEY=sk-your-deepseek-api-key

# Bot
APP_BOT_CALLBACK_TOKEN=your_bot_callback_token
APP_NAPCAT_ACCESS_TOKEN=your_napcat_access_token

# Frontend
VITE_API_BASE_URL=https://api.jmi-openatom.cn/api/v1
VITE_OIDC_AUTHORITY=https://oauth.jmi-openatom.cn/api/v1
VITE_OIDC_CLIENT_ID=openatom-web

安全提示

  • .env 文件不应提交到 Git 仓库(已在 .gitignore 中排除)
  • 生产环境的 JWT 密钥应使用足够长的随机字符串
  • 不要在代码中硬编码密码或密钥
Prev
Nginx 反向代理
Next
GitHub Secrets 配置指南