# Docker 部署指南 本文档提供如何使用 Docker 和 Docker Compose 部署 Cursor Auto Register 项目的指南。 ## 前提条件 - [Docker](https://docs.docker.com/get-docker/) 已安装 - [Docker Compose](https://docs.docker.com/compose/install/) 已安装 ## 部署步骤 ### 1. 准备环境变量配置 在项目根目录下创建 `.env` 文件(可以基于 `.env.example` 修改): ```bash cp .env.example .env ``` 然后根据需要编辑 `.env` 文件,配置必要的参数: - `EMAIL_DOMAINS`: 你的邮箱域名 - `EMAIL_USERNAME`: 临时邮箱用户名 - 其他必要的配置 注意: - 确保 `BROWSER_HEADLESS=True`,这在Docker环境中是必须的 - `DATABASE_URL` 应保持为 `sqlite+aiosqlite:///./data/accounts.db` ### 2. 创建必要的目录 确保在项目根目录下创建必要的数据目录: ```bash mkdir -p data chmod 777 data ``` ### 3. 构建和启动容器 在项目根目录执行以下命令启动服务: ```bash docker-compose up -d ``` 这将在后台构建并启动容器。首次构建可能需要几分钟时间。 ### 4. 查看日志 要查看应用日志,执行: ```bash docker-compose logs -f ``` 或者直接查看挂载的日志文件: ```bash tail -f api.log ``` ### 5. 验证部署 服务启动后,可以访问以下URL: - 用户界面: http://localhost:8000/ - API文档: http://localhost:8000/docs - 健康检查: http://localhost:8000/health ### 6. 停止服务 要停止服务,执行: ```bash docker-compose down ``` ## 数据持久化 - 数据目录 `data` 已通过卷挂载,会保存在宿主机上 - 数据库文件 `data/accounts.db` 会保存在数据目录中 - 日志文件 `api.log` 已通过卷挂载,会保存在宿主机上 - 环境配置 `.env` 已通过卷挂载,可以直接在宿主机上修改 ## 常见问题排查 ### 服务无法启动 检查日志: ```bash docker-compose logs ``` 如果出现与数据库相关的错误,请确保: 1. 已创建 `data` 目录 2. 目录具有适当的权限(chmod 777 data) 3. 环境变量 DATABASE_URL 指向正确的路径 ### 浏览器相关问题 确保Dockerfile中安装了所有必要的浏览器依赖,可能需要根据不同的系统环境调整依赖项。 ### 网络问题 如果需要使用代理,请在 `.env` 文件中配置 `BROWSER_PROXY`。 ## 更新部署 如果代码有更新,执行以下命令重新构建并部署: ```bash docker-compose down docker-compose build --no-cache docker-compose up -d ```