mirror of
https://github.com/ZhuLinsen/daily_stock_analysis
synced 2026-09-20 10:53:33 +08:00
* feat(web): add FastAPI & React web connect * feat: add FastAPI package * feat: system base struct * feat: frontend base struct * feat: 基础分析接口,历史记录接口 * fix: 使用正确的 FastAPI 方法定义,避免线程阻塞 * fix: 对接历史报告页、详情页 * fix: 修复接口问题 * fix: 网络配置 允许公网访问 跨域配置 * fix: 页面打包 & 提供 Server 静态访问 * fix: 优化dock栏样式 * fix: 优化图标样式 * fix: 修改部分配色 * fix: 删除垃圾文档 * fix: 删除垃圾代码 * fix: 驼峰转换工具 * fix: 历史记录列表滚动加载(分页) * feat: 显示分析中任务 * fix: 调整布局 * fix: 优化 Market Sentiment 组件动效 * fix: 历史列表组件bug * fix: FastAPI 日志配置 * feat: 新闻历史接口 * feat: 资讯列表 * feat: 优化布局 * fix: 修复页面元素变宽问题 * fix: 中文标题 * fix: 任务列表状态显示问题 * fix: 抽取日志配置 * fix: 优化报告价格显示 * fix: 修复编译错误 * fix: FastAPI 启动提取到 main.py * fix: 补充新web-ui启动文档 * fix: 默认发送通知 * fix: FastAPI 模式适配 docker * fix: FastAPI 模式文档 * Update api/v1/endpoints/stocks.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: package-lock.json * fix: 修改错别字 * fix: 更新文档说明 * fix: 更新文档说明 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
70 lines
1.6 KiB
Docker
70 lines
1.6 KiB
Docker
# ===================================
|
|
# A股自选股智能分析系统 - Docker 镜像
|
|
# ===================================
|
|
# 多阶段构建:前端打包 + 后端运行
|
|
|
|
FROM node:20-slim AS web-builder
|
|
|
|
WORKDIR /app/apps/dsa-web
|
|
|
|
COPY apps/dsa-web/package.json apps/dsa-web/package-lock.json ./
|
|
RUN npm ci
|
|
|
|
COPY apps/dsa-web/ ./
|
|
RUN npm run build
|
|
|
|
FROM python:3.11-slim
|
|
|
|
# 设置工作目录
|
|
WORKDIR /app
|
|
|
|
# 设置时区为上海
|
|
ENV TZ=Asia/Shanghai
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# 安装系统依赖
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 复制依赖文件
|
|
COPY requirements.txt .
|
|
|
|
# 安装 Python 依赖
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# 复制应用代码
|
|
COPY *.py ./
|
|
COPY api/ ./api/
|
|
COPY data_provider/ ./data_provider/
|
|
COPY web/ ./web/
|
|
COPY bot/ ./bot/
|
|
COPY src/ ./src/
|
|
COPY --from=web-builder /app/static ./static/
|
|
|
|
# 创建数据目录
|
|
RUN mkdir -p /app/data /app/logs /app/reports
|
|
|
|
# 设置环境变量默认值
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV LOG_DIR=/app/logs
|
|
ENV DATABASE_PATH=/app/data/stock_analysis.db
|
|
# WebUI应用
|
|
ENV WEBUI_HOST=0.0.0.0
|
|
ENV WEBUI_PORT=8000
|
|
|
|
# 暴露 WebUI 端口
|
|
EXPOSE 8000
|
|
|
|
# 数据卷(持久化数据)
|
|
VOLUME ["/app/data", "/app/logs", "/app/reports"]
|
|
|
|
# 健康检查(支持 WebUI / FastAPI 模式)
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
CMD curl -f http://localhost:8000/api/health || curl -f http://localhost:8000/health \
|
|
|| python -c "import sys; sys.exit(0)"
|
|
|
|
# 默认命令(可被覆盖)
|
|
CMD ["python", "main.py", "--schedule"]
|