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 bulkpanel-login.txt:首次登录凭据(用户名/密码)
常用参数:
# 生成后直接覆盖项目根目录 .dev.vars
pnpm gen:env -- --write-dev-vars
# 指定用户名和密码
pnpm gen:env -- --username admin --password "StrongPassword123!"
# 生成后自动上传到 Cloudflare Secrets
pnpm gen:env -- --upload
- 安装依赖
pnpm install
- 配置 D1 绑定(
wrangler.jsonc)
"d1_databases": [
{
"binding": "DB",
"database_name": "neutralpress-cloud",
"database_id": "replace-with-your-d1-database-id"
}
]
- 生成并配置 secrets
pnpm gen:env
pnpm wrangler secret bulk .generated/panel-secrets.bulk.json
- 本地开发
Copy-Item .generated/panel-secrets.env .dev.vars
pnpm dev
- 本地 Cloudflare 预览(按生产 Worker 方式)
pnpm run cf:preview
pnpm run cf:deploy
如果你希望“一步完成生成 + 上传”,可执行:
pnpm gen:env:upload
- 面板鉴权依赖以下环境变量:
PANEL_AUTH_SECRETPANEL_AUTH_PASSWORD_HASHPANEL_AUTH_USERNAME(默认admin)
- 默认展示变量:
PANEL_TITLE=NeutralPress Cloud ObservatoryPANEL_TIMEZONE=UTC
- 本地开发建议使用
.dev.vars(OpenNext + Wrangler 本地代理) - 若首次登录凭据遗失,可重新执行
pnpm gen:env生成新密码并重新上传 secrets