配置与环境变量
Python:.env
Section titled “Python:.env”后端通过 pydantic-settings 读取环境变量,并在存在时加载 backend/.env。模板提供了 backend/.env.example:
| 变量 | 说明 | 默认值 |
|---|---|---|
DATABASE_URL |
数据库连接串 | sqlite+aiosqlite:///./app.db |
JWT_SECRET_KEY |
强随机密钥 | 无,必须设置 |
JWT_ALGORITHM |
签名算法 | HS256 |
JWT_ACCESS_TOKEN_EXPIRE_MINUTES |
令牌有效期(分钟) | 1440 |
CORS_ORIGINS |
允许来源,JSON 数组 | ["http://localhost:5173"] |
DATA_TMP_DIR |
导入导出临时目录 | ./data/tmp |
MAX_IMPORT_SIZE_BYTES |
导入包大小上限 | 1073741824 |
DATABASE_URL=sqlite+aiosqlite:///./app.dbJWT_SECRET_KEY=<openssl rand -base64 48 的输出>JWT_ALGORITHM=HS256JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440CORS_ORIGINS=["http://localhost:5173"]DATA_TMP_DIR=./data/tmpMAX_IMPORT_SIZE_BYTES=1073741824Java:application.yml
Section titled “Java:application.yml”Java 后端配置位于 src/main/resources/application.yml:
| 配置 | 默认值 | 说明 |
|---|---|---|
server.port |
8088 |
后端端口 |
spring.datasource.url |
jdbc:sqlite:./data/app.db |
SQLite 文件 |
spring.jpa.hibernate.ddl-auto |
none |
结构由 Flyway 管理 |
spring.flyway.enabled |
true |
启用数据库迁移 |
sa-token.token-style |
uuid |
令牌风格 |
sa-token.timeout |
86400 |
令牌有效期(秒) |
app.cors-origins |
http://localhost:5173 |
允许来源 |
app.audit.exclude-paths |
/api/auth |
审计排除路径 |
app.data.tmp-dir |
./data/tmp |
导入导出临时目录 |
app.data.max-import-size-bytes |
1073741824 |
导入包大小上限 |
spring.servlet.multipart.max-file-size |
1GB |
multipart 文件上限 |
spring.servlet.multipart.max-request-size |
1GB |
multipart 请求上限 |
Java 版使用 Sa-Token,不需要 JWT_SECRET_KEY。
Docker 环境变量
Section titled “Docker 环境变量”| 变量 | 说明 |
|---|---|
JWT_SECRET_KEY |
必填(Python 后端),compose 未设置会报错 |
TZ |
默认 Asia/Shanghai |
DATABASE_URL |
Python 镜像内指向 /app/data/app.db |
PYTHONUNBUFFERED |
Python 镜像内为 1 |
前端没有 .env 文件:
- 请求基础地址在
src/api/client.ts中固定为/api。 - 开发时由
vite.config.ts将/api代理到http://localhost:8088;生产由 Nginx 反代。
| 环境 | 前端 | 后端 |
|---|---|---|
| 开发 | 5173 | 8088 |
| Docker | 5173(对外) | 8088(容器内,经 Nginx) |