Phase 1: Deploy ke Cloudflare Pages¶
Deploy landing, docs, dan wallet ke Cloudflare Pages (gratis) sambil menunggu VPS untuk chain services.
1. Build semua¶
npm run phase1:build
Output:
- deploy/landing/UPLOAD-KE-CLOUDFLARE.zip
- deploy/docs/UPLOAD-KE-CLOUDFLARE.zip
- deploy/wallet/UPLOAD-KE-CLOUDFLARE.zip
2. Verifikasi lokal¶
npm run phase1:verify
3. Cloudflare Pages: 3 project¶
| Project | Domain | Zip / CLI |
|---|---|---|
garudachain |
garudachain.id |
npm run landing:deploy:cloudflare |
garudachain-docs |
docs.garudachain.id |
npm run docs:deploy:cloudflare |
garudachain-wallet |
wallet.garudachain.id |
npm run wallet:deploy:cloudflare |
Dashboard (tanpa CLI)¶
- Cloudflare Dashboard → Workers & Pages → Create → Pages → Upload assets
- Buat 3 project (jika belum ada)
- Upload zip dari folder
deploy/*/UPLOAD-KE-CLOUDFLARE.zip - Custom domains → tambahkan domain masing-masing
CLI (update cepat)¶
npx wrangler login
npm run landing:deploy:cloudflare
npm run docs:deploy:cloudflare
npm run wallet:deploy:cloudflare
Override project name:
CF_PAGES_PROJECT=garudachain npm run landing:deploy:cloudflare
CF_PAGES_DOCS_PROJECT=garudachain-docs npm run docs:deploy:cloudflare
CF_PAGES_WALLET_PROJECT=garudachain-wallet npm run wallet:deploy:cloudflare
4. DNS di Cloudflare¶
Setelah custom domain ditambahkan di masing-masing project, Cloudflare otomatis membuat CNAME.
| Host | Target |
|---|---|
@ |
Pages (garudachain): sudah aktif |
docs |
Pages (garudachain-docs) |
wallet |
Pages (garudachain-wallet) |
Chain services (nanti di VPS: A record ke IP server):
rpc, api, explorer, status, grafana, faucet
Print daftar lengkap:
bash scripts/dns/print-records.sh <IP-VPS-ANDA>
5. Nanti pindah ke VPS¶
Saat VPS siap:
npm run prod:deploy: chain + Caddy- Mount
deploy/docs/dist→/srv/docs,deploy/wallet/dist→/srv/wallet - DNS
docs/wallet→ A record VPS (ganti dari Pages) - Landing bisa tetap di Pages atau pindah ke
/srv/landing
Phase Gate¶
Jangan lanjut Phase 2 production sampai:
npm run phase1:verify
Semua ✅ tanpa ❌.