Skip to content

部署概览与快捷脚本

汇总仓库中的部署资产,帮助快速选择方案并了解近期改动。详情参考 Docker 部署 与仓库根目录的部署文档。

TL;DR

  • 快速试用选 MongoDB 默认 profile;需要事务时切到 MariaDB 并启用 Repository 模式
  • 生产必改:APP_KEYSSESSION_SECRET、数据库/Redis 密码,关闭数据库公网暴露并启用 HTTPS
  • 健康检查 /api/health,配合 docker compose pslogs 做上线自检

快捷脚本与入口

  • docker-quickstart.sh:交互式部署向导(数据库/Redis/Nginx 选择、密钥生成、状态展示),适合快速落地
  • scripts/backup.sh:备份模板,可扩展 MariaDB/异地存储
  • 详细的 Compose Profiles、命令和参数说明请见 Docker 部署,运维与排障见 运维与排障

如何选数据库模式

  • 优先 MongoDB(默认):快速启动、无需建表,适合大部分场景
  • 需要事务/复杂查询时选择 MariaDB,并开启 Repository 模式(参见 .envDATABASE_TYPE/REPOSITORY_ENABLED

生产必改清单

  • 修改密钥:APP_KEYSSESSION_SECRET、数据库/Redis 密码
  • 不暴露数据库端口到公网,前置 Nginx/防火墙,启用 HTTPS
  • 配置 CORS 域名与白名单:CORS_ORIGINSDOMAIN_WHITELIST
  • 建立备份与监控:参考 运维与排障

变更与重要补充

  • 双数据库生产支持:Docker Compose 完整覆盖 MongoDB/MariaDB,初始化脚本自动导入数据/建表
  • 健康检查与缓存:Redis 默认随应用启动并具备健康检查;服务健康接口 /api/health
  • 安全基线APP_KEYSSESSION_SECRET、数据库/Redis 密码必须自定义,数据库端口不建议暴露公网
  • 数据持久化:提供 mongodb-data/mariadb-data/redis-data/app-logs/app-uploads 等卷,便于备份与迁移
  • Nginx/HTTPSdocker/nginx/ 内置站点与反代配置,证书放置于 docker/ssl/

更多细节:DOCKER_DEPLOYMENT.mdDOCKER_SETUP_SUMMARY.mdDOCKER_DEPLOYMENT_ANALYSIS.md

常见问题 FAQ

  • 如何快速验证部署是否正常?
    使用 docker compose ps 确认容器状态,再访问 http://localhost:8080/api/health,如果启用了 Nginx,检查 80/443 是否正常代理。

  • 可以只启用部分组件吗?
    可以,默认 profile 只启用应用和 MongoDB;通过 --profile mariadb--profile full 组合需要的服务。

  • 什么时候需要改动 env?
    上线前必须修改密钥与数据库/Redis 密码,并根据部署域名配置 CORS_ORIGINSDOMAIN_WHITELIST,否则会有安全和跨域风险。