Files
worklist/Dockerfile
bluish 6ecd95ad5d 将框架从 Flask 迁移到 FastAPI
主要改动:
- 更新依赖:使用 fastapi、uvicorn 替代 Flask
- 数据库层:从 Flask-SQLAlchemy 迁移到纯 SQLAlchemy
- 新增 database.py 管理数据库连接和会话
- 路由层:从 Blueprint 迁移到 APIRouter,添加 Pydantic 模型验证
- 应用层:使用 FastAPI 中间件替代 Flask 插件
- 启动方式:使用 uvicorn 替代 Flask 开发服务器
- 更新 Docker 配置以支持 FastAPI

优势:
- 更高的性能和异步支持
- 自动生成 OpenAPI 文档
- 更好的类型安全和数据验证
- 所有 API 端点保持向后兼容

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 10:12:22 +00:00

42 lines
950 B
Docker

# 使用官方Python运行时作为基础镜像
FROM python:3.11-slim
# 设置工作目录
WORKDIR /app
# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
# 安装系统依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
&& rm -rf /var/lib/apt/lists/*
# 复制依赖文件
COPY backend/requirements.txt /app/backend/requirements.txt
# 安装Python依赖
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r /app/backend/requirements.txt
# 复制项目文件
COPY backend/ /app/backend/
COPY frontend/ /app/frontend/
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
# 创建数据目录
RUN mkdir -p /app/data
# 设置启动脚本权限
RUN chmod +x /app/docker-entrypoint.sh
# 暴露端口
EXPOSE 5000
# 设置工作目录为backend
WORKDIR /app/backend
# 启动应用
CMD ["/app/docker-entrypoint.sh"]