Newsnow
优雅地阅读实时热门新闻
预览Demo



部署指南
基础部署
无需登录和缓存功能时,可直接部署至 Cloudflare Pages 或 Vercel:
- Fork 本仓库
- 导入至目标平台
Cloudflare Pages 配置
- 构建命令:
pnpm run build
- 输出目录:
dist/output/public
GitHub OAuth 配置
- 创建 GitHub App
- 无需特殊权限
- 回调 URL 设置为:
https://your-domain.com/api/oauth/github
(替换 your-domain 为实际域名) - 获取 Client ID 和 Client Secret
环境变量配置
参考 example.env.server
文件,本地运行时重命名为 .env.server
并填写以下配置:
# Github Clien ID
G_CLIENT_ID=
# Github Clien Secret
G_CLIENT_SECRET=
# JWT Secret, 通常就用 Clien Secret
JWT_SECRET=
# 初始化数据库, 首次运行必须设置为 true,之后可以将其关闭
INIT_TABLE=true
# 是否启用缓存
ENABLE_CACHE=true
数据库支持
本项目主推 Cloudflare Pages 以及 Docker 部署, Vercel 需要你自行搞定数据库,其他支持的数据库可以查看 https://db0.unjs.io/connectors 。
- 在 Cloudflare Worker 控制面板创建 D1 数据库
- 在
wrangler.toml
中配置database_id
和database_name
- 若无
wrangler.toml
,可将example.wrangler.toml
重命名并修改配置 - 重新部署生效
Docker 部署
对于 Docker 部署,只需要项目根目录 docker-compose.yaml
文件,同一目录下执行
docker compose up
docker-compose.yaml
services:
newsnow:
image: ghcr.io/ourongxing/newsnow:latest
container_name: newsnow
ports:
- '4444:4444'
volumes:
- newsnow_data:/usr/app/.data
environment:
- HOST=0.0.0.0
- PORT=4444
- NODE_ENV=production
- G_CLIENT_ID=
- G_CLIENT_SECRET=
- JWT_SECRET=
- INIT_TABLE=true
- ENABLE_CACHE=true
volumes:
newsnow_data:
name: newsnow_data
同样可以通过
docker-compose.yaml
配置环境变量。开源地址
Loading...