Skip to main content
Production di-host di Cloudflare Workers — bukan VPS Hono/Beta.

Target

Alur deploy

1

Pastikan secret shared terisi

Key wajib: BETTER_AUTH_SECRET, DEEPSEEK_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
2

Push secrets ke Worker

Membaca .env (+ .env.production.local jika ada) → .cloudflare/worker-secrets.jsonwrangler secret bulk
3

Deploy

Ketik yes untuk konfirmasi.
4

Smoke test

Apa yang dilakukan deploy-prod.sh

  1. Migrate database (dari DATABASE_URL di .env.production.local atau legacy .env.production)
  2. Build frontend (apps/web)
  3. Deploy renderer browser worker
  4. Deploy API worker
  5. Deploy web worker
Script: scripts/deploy-prod.sh
Wrangler config: apps/api/wrangler.jsonc, apps/web/wrangler.jsonc

DATABASE_URL production

Buat .env.production.local:
Deploy script membaca file ini sebelum legacy .env.production (format catatan psql=...).

Hyperdrive

Kalau SYNC_HYPERDRIVE=1 (default), deploy mencoba sync connection string dari apps/api/.env ke Hyperdrive binding di wrangler.

Opsi manual

Dengan flag:
Jangan commit .cloudflare/worker-secrets.json — file ini berisi secret dan sudah di-gitignore.