Skip to main content
Production AI Mentor di-host di Cloudflare Workers (app.sertifikasitrainer.com). Cloudflare juga menyediakan R2 (file storage) dan Hyperdrive (koneksi Postgres ke Neon).
Logo Cloudflare
Dashboard: dash.cloudflare.com
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 ProfileAPI TokensCreate 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

Untuk GitHub Actions: simpan sebagai repository secrets (lihat CI/CD).

2. Workers & custom domain

Deploy via ./thub deploy atau scripts/deploy-prod.sh:
  1. Build frontend (apps/web)
  2. Deploy worker API + web + renderer
  3. 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 → R2Overview → 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)
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

Atau lewat Dashboard → Hyperdrive → Create configuration.
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.
Docs: Hyperdrive getting started

5. Wrangler CLI lokal

Troubleshooting