Skip to content

NeutralPress/cloud-panel

Repository files navigation

NeutralPress Cloud Panel

NeutralPress Cloud Panel 是 neutralpress-cloud 的只读运维大屏(Next.js + Cloudflare Workers)。

功能

  • 登录鉴权后访问大屏(未登录自动重定向到 /login
  • 只读查询 D1(不提供写入接口)
  • 展示实例状态、投递趋势、遥测质量、失败分布、实例快照
  • 部署目标:Cloudflare Workers(@opennextjs/cloudflare

自动生成环境变量(推荐)

运行以下命令可自动生成鉴权密钥、随机初始密码与 secrets 导入文件:

pnpm gen:env

默认输出到 .generated/

  • panel-secrets.env:本地 .dev.vars 可直接使用
  • panel-secrets.bulk.json:可直接用于 wrangler secret bulk
  • panel-login.txt:首次登录凭据(用户名/密码)

常用参数:

# 生成后直接覆盖项目根目录 .dev.vars
pnpm gen:env -- --write-dev-vars

# 指定用户名和密码
pnpm gen:env -- --username admin --password "StrongPassword123!"

# 生成后自动上传到 Cloudflare Secrets
pnpm gen:env -- --upload

快速开始

  1. 安装依赖
pnpm install
  1. 配置 D1 绑定(wrangler.jsonc
"d1_databases": [
  {
    "binding": "DB",
    "database_name": "neutralpress-cloud",
    "database_id": "replace-with-your-d1-database-id"
  }
]
  1. 生成并配置 secrets
pnpm gen:env
pnpm wrangler secret bulk .generated/panel-secrets.bulk.json
  1. 本地开发
Copy-Item .generated/panel-secrets.env .dev.vars
pnpm dev
  1. 本地 Cloudflare 预览(按生产 Worker 方式)
pnpm run cf:preview

部署

pnpm run cf:deploy

如果你希望“一步完成生成 + 上传”,可执行:

pnpm gen:env:upload

说明

  • 面板鉴权依赖以下环境变量:
    • PANEL_AUTH_SECRET
    • PANEL_AUTH_PASSWORD_HASH
    • PANEL_AUTH_USERNAME(默认 admin
  • 默认展示变量:
    • PANEL_TITLE=NeutralPress Cloud Observatory
    • PANEL_TIMEZONE=UTC
  • 本地开发建议使用 .dev.vars(OpenNext + Wrangler 本地代理)
  • 若首次登录凭据遗失,可重新执行 pnpm gen:env 生成新密码并重新上传 secrets

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors