Lewati ke isi
PanduanWebsite & Email Al Ikhlas

Untuk pengelola teknis

Ringkasan arsitektur, deploy, rahasia (secrets), domain & DNS, dan berkas panduan teknis.

6 menit baca Untuk: Pengelola teknis

Di halaman ini 6 bagian
  1. Arsitektur singkat
  2. Domain & subdomain
  3. Secret & variabel
  4. Deploy
  5. Email: Routing, DNS, pengiriman
  6. Pemeliharaan
Untuk siapa halaman ini

Pengelola teknis / developer yang memelihara sistem. Admin harian tidak perlu membaca bagian ini. Dokumentasi teknis lengkap ada di repositori: docs/DOKUMENTASI-TEKNIS.md, docs/SERAH-TERIMA.md, docs/BACKUP-RESTORE.md, PANDUAN-PSB.md.

Arsitektur singkat#

  • Astro (static) → folder dist/ dilayani sebagai static assets oleh satu Cloudflare Worker (run_worker_first = true).
  • Worker (worker/index.js): API SPMB & kritik-saran, panel admin + CMS, webmail, /media/*, pengalihan subdomain, email masuk (email()), cron harian.
  • D1 (DB): pendaftar, admin, CMS (draf/terbit/riwayat), email, log. R2 (FILES, disarankan): lampiran, media, isi email. Tanpa R2 file disimpan di D1 (berpotongan 1 MB).
  • CMS: Terbitkan → DEPLOY_HOOK_URL → Workers Builds menjalankan npm run build (prebuild scripts/fetch-content.mjs mengambil /api/cms/export → src/data/content.json) → deploy. Panel memantau /cms-version.json.
  • Email: Email Routing (catch-all → Worker) untuk masuk; binding send_email (Email Service) untuk keluar.

Domain & subdomain#

Semua didaftarkan sebagai custom_domain di wrangler.toml; DNS & sertifikat dibuat otomatis saat wrangler deploy (domain harus di akun Cloudflare yang sama).

HostDilayani sebagai
yayasan-alikhlasbrebes.com301 → www.yayasan-alikhlasbrebes.com
www.yayasan-alikhlasbrebes.comSitus utama; /unit/<u>/… → 301 ke subdomain unit; /webmail → mail.; /docs/… → 301 ke docs.
<unit>.yayasan-alikhlasbrebes.com/<hal> → /unit/<u>/<hal>/; /daftar → /pendaftaran/<u>/
mail.yayasan-alikhlasbrebes.comHalaman /webmail/ (CSP ketat)
docs.yayasan-alikhlasbrebes.com/<slug>/ → /docs/<slug>/ (noindex)

www(apex)pptqtpqtktqsdtqsmptqkbihumaildocs

Uji lokal: sdtq.localhost:8787, mail.localhost:8787, docs.localhost:8787 (wrangler dev), atau localhost:8787/docs/.

Secret & variabel#

NamaFungsi
ADMIN_PASSWORDKunci tanda tangan sesi admin/webmail + password login pertama. Mengganti = semua sesi keluar.
DEPLOY_HOOK_URLDeploy Hook Workers Builds (atau URL dispatch GitHub + DEPLOY_HOOK_TOKEN). Tanpa ini, Terbitkan tidak memicu build.
BACKUP_PING_TOKENLaporan backup/uji pemulihan dari GitHub Actions ke panel Sistem.
MAIL_FROM, MAIL_FROM_NAME, MAIL_REPLY_TO, ADMIN_EMAILPengirim email sistem & penerima notifikasi pendaftar baru (var).

Atur dengan npx wrangler secret put NAMA dari folder website, pada akun Cloudflare yayasan.

Deploy#

  • Manual: npm run deploy (build + ambil konten CMS terbaru + wrangler deploy).
  • Otomatis: Workers & Pages → al-ikhlas-brebes → Settings → Builds → hubungkan repositori GitHub → build npm run build, deploy npx wrangler deploy → buat Deploy Hook branch main → simpan sebagai DEPLOY_HOOK_URL.
  • Workflow GitHub Actions (backup harian, uji pemulihan mingguan, deploy) ada di ci/github-actions/ — salin ke .github/workflows/ di repositori.
Batas file static assets

Setiap file di dist/ maks. 25 MiB. Video bawaan (public/videos/tutorial-pendaftaran.mp4, ±6,7 MB) sudah dikompres H.264 + faststart; Worker melayani permintaan Range (206) untuk .mp4 agar bisa diputar di Safari/iPhone.

Email: Routing, DNS, pengiriman#

  1. Email Routing aktif untuk domain → Catch-all → Send to Worker al-ikhlas-brebes.
  2. Email Service → onboard domain pengirim (SPF & DKIM ditambahkan otomatis).
  3. DMARC: TXT _dmarc → v=DMARC1; p=quarantine; rua=mailto:… (mulai dari p=none bila ragu).
  4. Periksa di panel: menu Email → Pemeriksaan DNS semuanya ✓.

Pemeliharaan#

  • Cron harian 02.17 WIB: hapus token kedaluwarsa, kosongkan Sampah/Spam > 30 hari, hitung ulang kuota, bersihkan log > 400 hari.
  • Backup 02.23 WIB setiap hari; uji pemulihan Senin 04.41 WIB. Status tampil di panel Sistem.
  • Akses developer hanya lewat undangan (Cloudflare member, GitHub collaborator) — tidak memakai password milik yayasan.

© 2026 Yayasan Al Ikhlas Brebes Tengah. Panduan ini hanya untuk pengelola & staf — jangan bagikan password siapa pun, termasuk kepada pengelola teknis.

Website utama · Panel admin · Webmail

Coba cari:

↑↓ pilihEnter bukaEsc tutup