DSA DOCS

DSA 文档中心

围绕 DSA 真实使用路径:快速开始、Actions、本地、Docker,以及源项目完整文档。

GitHub Actions 部署 本地运行 Docker 部署 打开 DSA 仓库
部署

Docker 部署

适合服务器长期运行:使用 docker/docker-compose.yml 启动 analyzer 定时任务和 server Web/API 服务。

任务指南 版本: v3.18.0-10-gc452e7f 更新: 2026-05-23
DOCKER

两种 Docker 路径

方式适合场景镜像/入口
本地构建跟随当前源码、便于二次开发和调试docker/docker-compose.yml
Docker Hub 官方镜像服务器快速部署、无需本地构建zhulinsen/daily_stock_analysis:latest
GitHub Container Registry跟随 GitHub Releases / tag 使用ghcr.io/zhulinsen/daily_stock_analysis:<tag>

本地 Compose 构建

项目的 Compose 文件定义了两个服务:analyzer 用于定时分析,server 用于 FastAPI / WebUI。默认读取仓库根目录 .env,并挂载 data、logs、reports、strategies。

git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
cp .env.example .env
# 编辑 .env:STOCK_LIST + 至少一个 AI Key + 通知渠道

docker-compose -f ./docker/docker-compose.yml up -d
# 或只启动 Web/API 服务
docker-compose -f ./docker/docker-compose.yml up -d server
# 同时启动 analyzer 和 server
docker-compose -f ./docker/docker-compose.yml up -d analyzer server

官方镜像运行

官方 Docker Hub 镜像名为 zhulinsen/daily_stock_analysis;GHCR 镜像名为 ghcr.io/zhulinsen/daily_stock_analysis。稳定部署建议使用明确版本 tag,测试可用 latest。

docker pull zhulinsen/daily_stock_analysis:latest
docker pull ghcr.io/zhulinsen/daily_stock_analysis:latest

# Web/API 服务模式示例
docker run -d \
  --name dsa-web \
  --env-file .env \
  -p 8000:8000 \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  -v $(pwd)/reports:/app/reports \
  zhulinsen/daily_stock_analysis:latest \
  python main.py --serve-only --host 0.0.0.0 --port 8000

常用管理命令

docker-compose -f ./docker/docker-compose.yml logs -f
docker-compose -f ./docker/docker-compose.yml ps
docker-compose -f ./docker/docker-compose.yml restart
docker-compose -f ./docker/docker-compose.yml down

git pull
docker-compose -f ./docker/docker-compose.yml build --no-cache
docker-compose -f ./docker/docker-compose.yml up -d

数据持久化

  • data:SQLite 数据库与缓存。
  • logs:运行日志。
  • reports:分析报告。
  • 如果宿主机遇到 Permission denied,可对挂载目录执行 chown -R 1000:1000。
sudo chown -R 1000:1000 ./data ./logs ./reports

访问 WebUI

  • 容器内 WEBUI_HOST 必须是 0.0.0.0,Compose 已设置。
  • 默认端口是 8000,可通过 API_PORT 调整。
  • 云服务器需要在安全组放行 8000 或自定义端口。