Skip to content

bruceblink/ani-updater

Repository files navigation

ani-updater

提供多源新闻数据聚合的Web服务。

目录结构

ani-updater/
├── common/           # 公共工具库
├── configuration/    # 配置文件
├── docker/           # Docker 相关文件
├── infra/            # 数据库、配置和日志等基础设施模块
├── migrations/       # 数据库迁移脚本
├── postgresql/       # 本地数据库数据与配置
├── scripts/          # 辅助脚本
├── service/          # 具体的业务整合模块
├── timer_tasker/     # 定时任务模块
├── web_services/     # web服务模块,应用的启动总入口
└── ...

功能简介

  • service:聚合各大新闻和视频平台的爬虫库,归一化新闻资讯输出。
  • web_services:提供获取最新新闻和动漫信息的API,支持数据库管理、定时任务、健康检查以及GitHub第三方登录等。
  • timer_tasker:定时任务调度器,负责定时拉取数据的lib。
  • common:项目通用工具和定义的结构体对象。
  • migrations:PostgreSQL 作为主数据库,支持自动建表与数据迁移。

快速开始

1. 环境准备

  • Rust 1.86+
  • PostgreSQL 17+
  • Docker(可选,推荐用于本地开发)

2. 配置

配置文件位于 configuration/ 目录下。 编辑 configuration/base.yamllocal.yaml 等文件,配置数据库、服务端口等参数。 环境变量配置 参照github_oauth2.md配置GitHub第三方登录所需的环境变量。

3. 数据库初始化(可选,现在仅仅CI测试时需要)

# 使用脚本初始化数据库
sh scripts/init_db.sh
# 或手动执行 migrations/ 下的 SQL 脚本

4. 构建与运行

目前可以使用 ani-updater-frontend作为前端项目用于测试使用

方式一:本地构建

# 启动数据库
docker-compose -f docker/docker-compose.yml -p ani-updater up -d postgresql
# 构建所有子项目
cargo build --workspace
# 运行订阅服务
cargo run -p 

方式二:Docker

# 启动数据库与应用服务
docker-compose -f docker/docker-compose.yml -p ani-updater up -d

使用docker-compose启动时需要在docker-compose.yml中配置相关的环境变量,具体的环境变量配置见github_oauth2

5. API 说明

  • 订阅服务 API 入口见 ani_subs/src/startup.rs
  • 具体接口文档可参考代码注释或后续补充的 OpenAPI 文档
  • 关于如何使用 GitHub 第三方登录请参考GitHub第三方登录使用说明

依赖说明

贡献

欢迎 issue、PR 与建议!

License

MIT LICENSE