Appearance
后端配置
提示
本章节只针对开发者和测试人员阅读,普通用户可以跳过此章节。
kantime-core 后端的配置通过环境变量进行管理,使用 pydantic-settings 库加载。所有配置项都定义在 app/config.py 文件中,并通过项目根目录下的 .env 文件进行赋值。
.env 文件
在启动后端服务前,请确保项目根目录 (kantime-core/) 下存在一个 .env 文件。您可以从 .env.example 复制一份并根据需要进行修改。
主要配置项说明
数据库 (DATABASE)
DATABASE__URL: SQLAlchemy 数据库连接字符串。- 格式:
postgresql+psycopg2://USER:PASSWORD@HOST:PORT/DB_NAME - 示例:
postgresql+psycopg2://postgres:password@localhost:5432/kantime
- 格式:
JWT (JSON Web Token)
JWT__SECRET_KEY: 用于签名和验证 JWT 的密钥。在生产环境中,这必须是一个长且无法猜测的随机字符串。JWT__ALGORITHM: 加密算法,默认为HS256。JWT__ACCESS_TOKEN_EXPIRE_MINUTES: Access Token 的过期时间(分钟),默认为120。
加密 (ENCRYPTION)
系统支持两种加密方式,用于加密薪酬等敏感数据。二者择一进行配置。
本地密钥 (ENCRYPTION_KEY)
ENCRYPTION_KEY: 一个本地的加密密钥。轻量加密,适用于本地开发或不想依赖外部服务的场景。- 示例:
b'your_fernet_key_base64'(必须是 32 字节长的字节串)
- 示例:
HashiCorp Vault (VAULT)
VAULT__URL: Vault 服务的地址。- 示例:
http://127.0.0.1:8200
- 示例:
VAULT__TOKEN: 访问 Vault 所需的根令牌或具有相应权限的令牌。VAULT__KV_PATH: Vault 中 KV secrets engine 的路径。此为必填项,但当前版本主要使用 Transit engine,此配置为未来扩展保留。
安全 (SECURITY)
SECURITY__CORS_ORIGINS: 允许跨域请求的前端源地址列表,使用逗号分隔。- 示例:
"http://127.0.0.1:5173,http://localhost:5173,http://your.domain.com"
- 示例:
本地化 (LOCAL)
LOCAL__TIMEZONE: 应用使用的时区。- 示例:
Asia/Shanghai
- 示例:
日志 (LOGGING)
LOGGING__LEVEL: 日志级别,如INFO,DEBUG。默认为INFO。LOGGING__DIR_PATH: 日志文件存放目录。默认为logs。
程序设置 (PROGRAM)
这些设置通常在代码中定义,但也可以通过环境变量覆盖。
PROGRAM__WORK_HOURS_PER_DAY: 计算日薪时,每日的标准工作时长。默认为8。