Docker 部署指南
ReactPress 支持通过 Docker 进行容器化部署,这使得在不同环境中部署和运行 ReactPress 变得更加简单和一致。
🐳 Docker 架构
ReactPress 的 Docker 部署采用多容器架构,包含以下服务:
- db: MySQL 5.7 数据库服务
- server: 基于 NestJS 的后端 API 服务(生产 compose 中默认运行在宿主机)
- theme: 基于 Next.js 的访客主题
- nginx: Nginx 反向代理服务器
📁 目录结构
reactpress/
├── docker-compose.prod.yml # 生产环境 Docker 编排文件
├── themes/hello-world/
│ └── (访客主题由 runtime 安装,见主题文档)
├── server/
│ └── Dockerfile # 服务端 Docker 配置
└── nginx.conf # Nginx 配置文件
🚀 快速开始
1. 环境准备
确保已安装 Docker 和 Docker Compose:
# 检查 Docker 版本
docker --version
# 检查 Docker Compose 版本
docker-compose --version
2. 克隆项目
git clone https://github.com/fecommunity/reactpress.git
cd reactpress
3. 配置环境变量
在项目根目录创建 .env 文件:
# 数据库配置
DB_HOST=db
DB_PORT=3306
DB_USER=reactpress
DB_PASSWD=reactpress
DB_DATABASE=reactpress
# 客户端配置
CLIENT_SITE_URL=http://localhost:8080
# 服务端配置
SERVER_SITE_URL=http://localhost:8080
SERVER_API_URL=http://nginx/api
4. 启动服务
# 使用 Docker Compose 启动所有服务
docker-compose -f docker-compose.prod.yml up -d
# 查看服务状态
docker-compose -f docker-compose.prod.yml ps
# 查看日志
docker-compose -f docker-compose.prod.yml logs -f
访问 http://localhost:8080 查看应用。