Skip to content

配置与部署 ​

环境变量用途开发默认值
DATABASE_URLPostgreSQL JDBC 地址jdbc:postgresql://localhost:5432/fastvue3
DATABASE_USERNAME数据库用户fastvue3
DATABASE_PASSWORD数据库密码fastvue3
REDIS_HOST / REDIS_PORTRefresh Token、权限缓存、限流与幂等声明localhost / 6379
JWT_SECRETJWT HMAC 密钥仅供本地开发的默认值
ADMIN_PASSWORD初始管理员密码dev 环境为 admin123
CORS_ALLOWED_ORIGIN_PATTERNS允许的前端来源http://localhost:*
FILE_STORAGE_ROOT本地上传目录系统临时目录下的 fast-vue3-server/uploads
FILE_PUBLIC_BASE_URL文件 URL 前缀/api/v1/files
FILE_MAX_SIZE_BYTES文件大小上限10485760(10 MiB)

完整容器启动:

bash
docker compose --profile app up -d --build
docker compose --profile app logs -f app

数据库结构由 src/main/resources/db/migration 下的 Flyway 脚本管理。已经发布的迁移只追加、不修改,避免不同环境校验和不一致。

当前文件适配器校验扩展名和 MIME,并检查受支持二进制格式的文件签名,只允许 PNG、JPEG、WebP、PDF 和纯文本,并写入按租户区分的本地目录。容器运行时应将 FILE_STORAGE_ROOT 指向持久卷;系统临时目录默认值只适合开发。Spring multipart 同样限制为 10 MB。GET /actuator/health 可匿名访问,/actuator/metrics 与 /actuator/prometheus 需要登录;响应包含便于关联日志的 X-Request-Id。

生产检查清单:

  • 替换 JWT 密钥与管理员密码;
  • 收紧 CORS 来源;
  • 使用外部 PostgreSQL、Redis 与密钥管理服务;
  • 只暴露业务端口和必要的 Actuator 端点;
  • 在发布流程执行 ./mvnw clean verify。

后端文档统一维护在 fast-vue3-site 仓库。推送到该仓库 main 分支的文档变更由 .github/workflows/deploy.yml 使用 Node 22、pnpm 和 GitHub Pages Actions 自动构建发布。

Released under the MIT License.