Files
edgeever/docs/manual-deploy.md
T

2.3 KiB

Cloudflare Manual Deployment and Recovery

Use this page for advanced configuration, troubleshooting, and emergency recovery. Most users should use Deploy EdgeEver online from a Fork; AI Agents should use AI Agent Cloudflare Deployment.

First manual deployment

  1. Fork the repository and clone it locally.

  2. Install Node.js 22+ and Bun.

  3. Initialize configuration and Cloudflare resources:

    cp .env.local.example .env.local
    bun install
    EDGE_EVER_PASSWORD='<initial password>' bun run deploy:setup
    bun run deploy:doctor
    bun run deploy:manual
    

deploy:setup creates or reuses D1 and R2 and writes configuration to the git-ignored .env.local. Without EDGE_EVER_PASSWORD, the default login is admin / admin123.

After deployment, confirm:

  • /api/health returns 200 with "ok": true
  • /api/openapi.json is reachable
  • admin can log in

Create resources manually

cp .env.local.example .env.local
bun install
bunx wrangler d1 create edgeever
bunx wrangler r2 bucket create edgeever-resources

Write the returned D1 ID and resource names to .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=<strong password>
EDGE_EVER_SESSION_TTL_DAYS=400
# Optional portable application-level login protection. These also work with 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

Then run:

bun run deploy:doctor
bun run deploy:manual

Do not commit .env.local or write passwords to D1.

Recovery

  • Database not ready: confirm the D1 binding is DB, then run bun run deploy:manual.

  • Authentication not configured: set EDGE_EVER_AUTH_PASSWORD in .env.local, then redeploy.

  • Forgotten admin password:

    EDGE_EVER_PASSWORD='<new password>' bun run auth:reset-password -- --remote --username admin
    

Automatic updates

After manual deployment, configure Cloudflare Workers Builds and enable Update deployed EdgeEver in the Fork's Actions.