部署概览与快捷脚本
汇总仓库中的部署资产,帮助快速选择方案并了解近期改动。详情参考 Docker 部署 与仓库根目录的部署文档。
TL;DR
- 快速试用选 MongoDB 默认 profile;需要事务时切到 MariaDB 并启用 Repository 模式
- 生产必改:
APP_KEYS、SESSION_SECRET、数据库/Redis 密码,关闭数据库公网暴露并启用 HTTPS - 健康检查
/api/health,配合docker compose ps、logs做上线自检
快捷脚本与入口
docker-quickstart.sh:交互式部署向导(数据库/Redis/Nginx 选择、密钥生成、状态展示),适合快速落地scripts/backup.sh:备份模板,可扩展 MariaDB/异地存储- 详细的 Compose Profiles、命令和参数说明请见 Docker 部署,运维与排障见 运维与排障
如何选数据库模式
- 优先 MongoDB(默认):快速启动、无需建表,适合大部分场景
- 需要事务/复杂查询时选择 MariaDB,并开启 Repository 模式(参见
.env中DATABASE_TYPE/REPOSITORY_ENABLED)
生产必改清单
- 修改密钥:
APP_KEYS、SESSION_SECRET、数据库/Redis 密码 - 不暴露数据库端口到公网,前置 Nginx/防火墙,启用 HTTPS
- 配置 CORS 域名与白名单:
CORS_ORIGINS、DOMAIN_WHITELIST - 建立备份与监控:参考 运维与排障
变更与重要补充
- 双数据库生产支持:Docker Compose 完整覆盖 MongoDB/MariaDB,初始化脚本自动导入数据/建表
- 健康检查与缓存:Redis 默认随应用启动并具备健康检查;服务健康接口
/api/health - 安全基线:
APP_KEYS、SESSION_SECRET、数据库/Redis 密码必须自定义,数据库端口不建议暴露公网 - 数据持久化:提供
mongodb-data/mariadb-data/redis-data/app-logs/app-uploads等卷,便于备份与迁移 - Nginx/HTTPS:
docker/nginx/内置站点与反代配置,证书放置于docker/ssl/
更多细节:DOCKER_DEPLOYMENT.md、DOCKER_SETUP_SUMMARY.md、DOCKER_DEPLOYMENT_ANALYSIS.md。
常见问题 FAQ
如何快速验证部署是否正常?
使用docker compose ps确认容器状态,再访问http://localhost:8080/api/health,如果启用了 Nginx,检查 80/443 是否正常代理。可以只启用部分组件吗?
可以,默认 profile 只启用应用和 MongoDB;通过--profile mariadb或--profile full组合需要的服务。什么时候需要改动 env?
上线前必须修改密钥与数据库/Redis 密码,并根据部署域名配置CORS_ORIGINS与DOMAIN_WHITELIST,否则会有安全和跨域风险。