app.sertifikasitrainer.com). Cloudflare juga menyediakan R2 (file storage) dan Hyperdrive (koneksi Postgres ke Neon).
Docs: developers.cloudflare.com
Apa yang dipakai di project ini
Config Wrangler:
apps/api/wrangler.jsonc, apps/web/wrangler.jsonc
1. Buat API token (deploy & CI)
1
Buka API Tokens
Dashboard → My Profile → API Tokens → Create Token
2
Pilih template atau custom
Untuk deploy script, permission minimal:
- Account → Workers Scripts → Edit
- Account → Workers R2 Storage → Edit
- Account → Workers KV → Edit (jika dipakai)
- Account → Hyperdrive → Edit
- Zone → Workers Routes → Edit (custom domain)
3
Simpan ke env
2. Workers & custom domain
Deploy via./thub deploy atau scripts/deploy-prod.sh:
- Build frontend (
apps/web) - Deploy worker API + web + renderer
- Route
app.sertifikasitrainer.com→ worker
URL production (
FRONTEND_URL, BETTER_AUTH_URL, dll.) sudah di vars pada wrangler.jsonc — bukan secret.3. R2 object storage
R2 kompatibel S3. Project memakai AWS SDK dengan endpoint R2.1
Aktifkan R2
Dashboard → R2 → Overview → buat bucket (mis.
trainerhub)2
Buat API token R2
R2 → Manage R2 API Tokens → Create token
Permission: Object Read & Write (scope ke bucket jika perlu)
Permission: Object Read & Write (scope ke bucket jika perlu)
3
Isi .env
4
Public access (opsional)
Jika asset harus diakses browser langsung, aktifkan custom domain R2 atau public bucket policy. Docs: R2 public buckets.
4. Hyperdrive (Neon)
Hyperdrive mem-pool koneksi Postgres dari Worker ke Neon.1
Buat Hyperdrive config
2
Binding di wrangler
ID Hyperdrive masuk ke
hyperdrive binding di apps/api/wrangler.jsonc.3
Sync saat deploy
Script deploy dengan
SYNC_HYPERDRIVE=1 (default) mencoba sync connection string dari merged env.