Stop advertising the stale OpenAPI snapshot as an API catalog. Keep the URL for deploy checks and point agents at MCP.
3.1 KiB
Cloudflare 手动部署与恢复
本页只用于高级配置、故障排查和紧急恢复。普通用户请使用从 Fork 在线部署,AI Agent 请使用AI Agent 在线部署。
首次手动部署
-
Fork 仓库并克隆到本地。
-
安装 Node.js 22+ 和 Bun。
-
初始化配置和 Cloudflare 资源:
cp .env.local.example .env.local bun install EDGE_EVER_PASSWORD='<首次登录密码>' bun run deploy:setup bun run deploy:doctor bun run deploy:manual
deploy:setup 会创建或复用 D1、R2,并将配置写入被 Git 忽略的 .env.local。新部署必须提供 EDGE_EVER_PASSWORD,生产环境不存在默认密码。
使用本地 CLI 部署时,可在 .env.local 中设置 EDGE_EVER_DEPLOYMENT_URL=https://<你的 Worker 域名>,让部署验证同时请求线上的 /api/health;CI 部署会自动从 Wrangler 输出中识别公网地址。未显式配置地址时,本地验证仍会检查远端 D1 schema 和 Worker Secret,并明确提示已跳过线上健康检查。
部署完成后,确认:
/api/health返回200和"ok": true/api/openapi.json可以访问(仅探活,不是 API 目录)admin可以使用通过EDGE_EVER_PASSWORD提供的密码登录
手动创建资源
cp .env.local.example .env.local
bun install
bunx wrangler d1 create edgeever
bunx wrangler r2 bucket create edgeever-resources
将返回的 D1 ID 和资源名称写入 .env.local:
EDGE_EVER_D1_DATABASE_ID=<database_id>
EDGE_EVER_R2_BUCKET_NAME=edgeever-resources
EDGE_EVER_AUTH_USERNAME=admin
EDGE_EVER_AUTH_PASSWORD=<强密码>
EDGE_EVER_SESSION_TTL_DAYS=400
# 可选的应用层登录防护参数;同样适用于 Docker + SQLite。
EDGE_EVER_AUTH_LOGIN_WINDOW_SECONDS=900
EDGE_EVER_AUTH_LOGIN_USERNAME_MAX_ATTEMPTS=5
EDGE_EVER_AUTH_LOGIN_USERNAME_COOLDOWN_SECONDS=900
EDGE_EVER_AUTH_LOGIN_IP_MAX_ATTEMPTS=30
EDGE_EVER_AUTH_LOGIN_IP_COOLDOWN_SECONDS=300
然后运行:
bun run deploy:doctor
bun run deploy:manual
不要提交 .env.local,也不要把密码写入 D1。
启用第三方 OSS 设置
在设置 → 高级设置中配置兼容 S3 API 的对象存储,并在保存前使用“测试连接”。 EdgeEver 会使用从现有实例认证 Secret 派生的专用密钥加密外部 Secret Access Key, 再将其保存到 D1,无需增加其他加密变量。请保持实例认证 Secret 稳定并安全备份; 丢失或更换它会导致已保存的外部凭据无法使用。
故障恢复
-
数据库未就绪:确认 D1 binding 为
DB,然后运行bun run deploy:manual。 -
鉴权未配置:在
.env.local设置EDGE_EVER_AUTH_PASSWORD,然后重新部署。 -
忘记管理员密码:
EDGE_EVER_PASSWORD='<新密码>' bun run auth:reset-password -- --remote --username admin
自动更新
手动部署完成后,按 Cloudflare Workers Builds 配置自动部署,并在 Fork 的 Actions 中启用 Update deployed EdgeEver。