# sparkers-edu **Repository Path**: robot228/sparkers-edu ## Basic Information - **Project Name**: sparkers-edu - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sparkers EDU 一个基于Next.js的教育平台项目,使用Docker进行容器化开发。 ## 项目结构 ``` sparkers-edu/ # Next.js应用 Dockerfile # Docker构建配置 docker-compose.yml # Docker Compose配置 deploy/ # 部署配置 nginx/ nginx.conf # Nginx配置 .env.example # 环境变量示例 Makefile # 开发命令 .dockerignore # Docker忽略文件 ``` ## 快速开始 ### 前提条件 - Docker 和 Docker Compose - Node.js 20+ ### 开发环境 1. 复制环境变量文件: ```bash cp .env.example .env ``` 2. 启动开发环境: ```bash make dev ``` 应用将在 http://localhost:3000 运行 ### 生产环境 ```bash make prod ``` ### 常用命令 ```bash make dev # 启动开发环境 make prod # 启动生产环境 make down # 停止容器 make clean # 停止并清理数据 make logs # 查看日志 make shell # 进入开发容器 make db-shell # 进入MongoDB shell make backup # 备份数据库 ``` ## 服务说明 - **dev**: Next.js开发服务器,支持热重载 - **app**: Next.js生产服务器 - **mongodb**: MongoDB数据库 - **nginx**: 反向代理和SSL终止 ## 环境变量 复制 `.env.example` 到 `.env` 并配置: - `MONGODB_URI`: MongoDB连接字符串 - `NEXTAUTH_URL`: NextAuth.js回调URL - `NEXTAUTH_SECRET`: NextAuth.js密钥 - `NODE_ENV`: 环境模式 ## 开发说明 - 代码修改会自动热重载 - MongoDB数据持久化在 `mongodb_data/` 目录 - 数据库备份在 `mongodb_dump/` 目录 - Nginx配置在 `deploy/nginx/` 目录 ## 部署 生产环境使用Nginx反向代理,支持HTTPS。SSL证书需要放置在 `certs/` 目录: - `certs/cert.pem`: SSL证书 - `certs/key.pem`: SSL私钥