Newsnow

优雅地阅读实时热门新闻

预览Demo

https://assets.qninq.cn/qning/70HkLe7m.webp
https://assets.qninq.cn/qning/70HkLe7m.webp
https://assets.qninq.cn/qning/8J5eVzTA.webp
https://assets.qninq.cn/qning/8J5eVzTA.webp
https://assets.qninq.cn/qning/SnfLhxAz.webp
https://assets.qninq.cn/qning/SnfLhxAz.webp

部署指南

基础部署

无需登录和缓存功能时,可直接部署至 Cloudflare Pages 或 Vercel:

  1. Fork 本仓库
  2. 导入至目标平台

Cloudflare Pages 配置

  • 构建命令:pnpm run build
  • 输出目录:dist/output/public

GitHub OAuth 配置

  1. 创建 GitHub App
  2. 无需特殊权限
  3. 回调 URL 设置为:https://your-domain.com/api/oauth/github(替换 your-domain 为实际域名)
  4. 获取 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

  1. 在 Cloudflare Worker 控制面板创建 D1 数据库
  2. wrangler.toml 中配置 database_iddatabase_name
  3. 若无 wrangler.toml ,可将 example.wrangler.toml 重命名并修改配置
  4. 重新部署生效

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...

🏷本文标签:Docker,️Vercel,️Cloudflare,️Newsnow,️新闻热榜
最后修改:2025 年 08 月 23 日
如果觉得我的文章对你有用,请随意赞赏