Read-only Cloudflare forks were getting silent green no-ops when already aligned, or unclear merge skips after Sync fork. Align deploy-only forks with reset, keep merge for customized trees, always write a job summary, and document force_redeploy plus an optional Cloudflare Deploy Hook.
3.1 KiB
AI Agent Cloudflare Deployment Guide
This document defines the standard operating specifications and conventions for AI Agents (and automated deployment scripts) deploying EdgeEver on Cloudflare.
💡 Core Principle: Pure Serverless architecture running entirely within Cloudflare free limits—no VPS or server purchasing, no Docker or SSL certificate configuration required.
Standard Automated Deployment Steps
-
Fork Repository
- Fork
tianma-if/edgeeverto the target GitHub account.
- Fork
-
Enable Workflow
- In the Actions tab of the Forked repository, enable the Update deployed EdgeEver automatic update workflow (required on public forks: scheduled workflows are disabled by default).
-
Cloudflare Project Import
- Log into the Cloudflare Workers & Pages console and import the Fork repository.
- Configure the project to use the repository root, the production
mainbranch, and read the rootwrangler.toml.
-
Resource Bindings & Secrets
- D1 Database Binding: Binding name
DB, associated with a database named exactlyedgeever. - R2 Bucket Binding: Binding name
RESOURCES, associated with a globally unique R2 Bucket. - Admin username: Configure
EDGE_EVER_AUTH_USERNAME; it defaults toadminand can be replaced with a custom username. - Worker Secret: Add secret
EDGE_EVER_AUTH_PASSWORDfor initial admin password.
- D1 Database Binding: Binding name
-
Configure Workers Builds Commands
-
In the Cloudflare project build settings, set the standard commands:
Build command: bun install --frozen-lockfile && EDGE_EVER_DEPLOYMENT_TRIGGER=main_push EDGE_EVER_DEPLOYMENT_METHOD=cloudflare_workers_builds bun run build:cloudflare Deploy command: bun run deploy:cloudflare-builds -
The deploy command automatically resolves the D1 UUID from the
edgeeverdatabase name and writes it only to a temporary generated Wrangler configuration. Users do not need to editwrangler.tomlor copy a D1 ID into a build variable. -
Ensure the Workers Builds API token can read and edit D1. An advanced deployment that uses a differently named database must set the build variable
EDGE_EVER_D1_DATABASE_IDexplicitly.
-
-
Start Initial Build & Verify Service
- Trigger the initial build. Once deployed, run the following automated verifications:
- Check
https://<your-worker-domain>/api/healthreturns HTTP200with JSON{"ok": true}. - Check
https://<your-worker-domain>/api/openapi.jsonloads the OpenAPI schema properly. - Verify login API using the configured
EDGE_EVER_AUTH_USERNAME(defaultadmin) andEDGE_EVER_AUTH_PASSWORD.
- Check
- Trigger the initial build. Once deployed, run the following automated verifications:
-
Verify Upstream Update Channel
- Manually trigger Update deployed EdgeEver once in the Fork's Actions tab.
- Open the job Summary and confirm it reports the upstream target (stable Release or edge
main) and either an update publish or an explicit already aligned result. - Confirm Cloudflare Deployments builds the published
maincommit when a push occurred. - Do not rely on GitHub Sync fork for routine upgrades; use this workflow as the deploy-mirror path.