AIHOT部署完全指南:Docker Compose、域名HTTPS、中国大陆加速与自动备份
【免费下载链接】AIHOT一个自己找热点、自己写日报的网站框架。把信源和精选标准换成你的,它就是你的行业热点站。项目地址: https://gitcode.com/gh_mirrors/ai/AIHOT
本文带你用 Docker Compose 三步完成AIHOT 部署——这个"自己找热点、自己写日报"的行业热点站框架。AIHOT 会自动采集信源、用大模型筛选评分、聚簇成事件并生成日报,你只要换上自己的信源和精选标准,它就能变成你的行业热点站。文中同时覆盖域名 HTTPS 自动证书、中国大陆服务器加速方案与数据库自动备份四个新手最常卡住的环节。
一、部署 AIHOT 前的准备工作
AIHOT 部署只需要一台装有 Docker(含 Compose)的机器,建议2 核 4 GB 内存(构建镜像时需要)。准备好三样东西:
- 一个可用的大模型 API Key(任何 OpenAI 兼容接口都可以,默认示例是 DeepSeek)
- 一个域名(配 HTTPS 时要用)
- 一台能访问 Docker Hub 的服务器
AIHOT 由五个容器协作运行:db(PostgreSQL 17)、setup(启动时执行数据库迁移和种子数据后退出)、api、worker(抓取与模型处理)、web(网页)。编排细节见 docker-compose.yml。
二、Docker Compose 三步部署 AIHOT
1. 克隆仓库并生成配置文件
git clone https://gitcode.com/gh_mirrors/ai/AIHOT.git myhot cd myhot node scripts/init-env.ts --llm-key <你的模型 API Key>init-env.ts会基于.env.example生成.env,自动填好随机密钥和管理员密码,并把密码打印一次(请妥善保存,登录后台/admin用)。它不会覆盖已存在的.env。脚本源码在 scripts/init-env.ts,配置项说明在 .env.example。
2. 构建并启动
docker compose up -d --build3. 验证部署结果
打开http://服务器地址:3000,网站即已上线;后台在/admin。第一次启动会导入 18 个示范信源,一两分钟后开始出内容;首次一百多条资料的预筛、评分、写摘要大约需要半小时。
三、域名与 HTTPS 配置:Caddy 自动申请证书
想让读者用https://你的域名访问,按下面两步操作(完整说明见 docs/deploy.md):
第 1 步:把域名解析到服务器,然后在.env里修改:
SITE_URL=https://example.com SITE_DOMAIN=example.com PORT=127.0.0.1:3000 # 3000 端口只给本机 Caddy 用,不直接对外 TRUST_PROXY=true # 访客真实地址从 Caddy 转来的请求头里读第 2 步:带 HTTPS 方式启动
docker compose --profile https up -d --buildCaddy 会自动申请并续期证书,同时开启 zstd/gzip 压缩。规则很简单,就三行:对SITE_DOMAIN反代到web:3000,见 deploy/Caddyfile。
💡
SITE_URL必须写成读者实际访问的地址——生成的链接、RSS、分享图和 MCP 接口都用它。已有 Nginx 的服务器可不用 Caddy,直接把站点反向代理到http://127.0.0.1:3000并带X-Forwarded-For头即可。
四、中国大陆服务器部署加速方案
服务器在国内时,通常遇到三个问题,都有现成解法:
1. 构建时 npm 走国内镜像
Dockerfile 内置了NPM_REGISTRY构建参数:
docker compose build --build-arg NPM_REGISTRY=https://registry.npmmirror.com docker compose up -d2. Docker 镜像拉取慢
先给 Docker 配置镜像加速器(daemon.json的registry-mirrors),再重启 Docker。
3. 海外信源抓不到
在.env里设置出口代理,抓取信源、图片和模型榜数据时走它,调用模型接口不走:
EGRESS_PROXY_URL=http://127.0.0.1:7890⚠️ 另外,在中国大陆对外提供网站服务需先完成ICP 备案,备案号填在 industry/site.ts 的icp字段。
五、数据库自动备份到对象存储
AIHOT 支持每天 04:10 自动备份数据库到任何 S3 兼容对象存储(腾讯云 COS、阿里云 OSS、AWS S3 均可)。在.env里填五项:
DB_BACKUP_STORE_SECRET_ID= DB_BACKUP_STORE_SECRET_KEY= DB_BACKUP_STORE_BUCKET= DB_BACKUP_STORE_REGION= DB_BACKUP_STORE_DOMAIN=备份逻辑(自定义格式校验过的导出 + 上传文件,保留 3 份本地副本)在 packages/backend/src/operations/backup.ts,定时任务注册在 apps/worker/src/schedules.ts。不想配对象存储也可以手动导出:
docker compose exec -T db pg_dump -U aihot aihot | gzip > myhot-$(date +%F).sql.gz⚠️ 注意:数据存放在db、data、caddy三个 Docker 卷中,docker compose down不会删除它们,但docker compose down -v会,操作前请三思。
六、更新 AIHOT 与日常巡检
一键更新
git pull docker compose up -d --build数据库迁移只做向后兼容的增量,更新时自动执行,无需手动处理。
看日志与监控
docker compose logs -f --tail 100 api worker web后台/admin的"运行"页能看到每个定时任务最近的结果,"信源"页能看到每个信源的抓取状况。
结语:十分钟拥有你的行业热点站
回顾一下 AIHOT 部署全流程:生成配置 → Docker Compose 启动 → 域名 HTTPS → 国内加速 → 自动备份。跑起来只是开始,真正的价值在于把示范信源换成你行业的信源、把精选标准换成你的 KnowHow——每一步的提示词都在 industry/prompts/ 里,改标准不用改代码。更多定制内容可参考 docs/customize.md 与 docs/sources.md。
【免费下载链接】AIHOT一个自己找热点、自己写日报的网站框架。把信源和精选标准换成你的,它就是你的行业热点站。项目地址: https://gitcode.com/gh_mirrors/ai/AIHOT
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考