Pipeline Wiki Kizu00 #

Situs ini (wiki.kizu00.my.id) adalah proyeksi dari dua sumber, bukan tempat menulis.

Arsitektur #

text
/root/.hermes/wiki/*.md ──sync──▶ content/knowledge/*.mdx
content/team/*.mdx (manual)
│
▼ npm run build
out/ ──rsync──▶ live/ ──▶ wiki-static.service (127.0.0.1:8123)
│
Cloudflare tunnel
▼
https://wiki.kizu00.my.id
  • Build menghasilkan situs statis di out/; yang disajikan server adalah live/. Pemisahan ini penting: next build menghapus dan menulis ulang out/, jadi kalau yang disajikan langsung out/, pengunjung bisa melihat aset setengah jadi selama proses build (±20 detik).
  • wiki-static.service melayani live/ di 127.0.0.1:8123. Tunnel Cloudflare meneruskan hostname wiki ke port itu. Tidak ada Cloudflare Pages untuk situs ini.

Publikasi #

/root/.hermes/scripts/publish-wiki.sh berjalan dari cron setiap 30 menit:

  1. sync-wiki-content.py --apply — proyeksikan halaman .hermes/wiki ke content/knowledge/, regenerate index dan seksi sidebar Knowledge.
  2. Build hanya jika content/ berubah (kalau tidak, selesai di sini).
  3. rsync out/ → live/, lalu buat shim <section>/index.html untuk /team dan /knowledge.
  4. Commit + push content/ ke repo privat kizu0net-AI/kizu00-wiki.

Menulis halaman baru = taruh .md di /root/.hermes/wiki/, tunggu maksimal 30 menit. Jangan menyunting content/knowledge/*.mdx — hasil generate akan menimpanya.

Pengaman #

sync-wiki-content.py melewati (tidak mempublikasikan) halaman yang mengandung pola rahasia: password, API key, token, private key, AGE-SECRET-KEY, ghp_, sk-. Halaman yang dilewati muncul di log publish sebagai SKIP.

Verifikasi #

bash
# halaman yang baru diubah benar-benar tayang?
curl -s "https://wiki.kizu00.my.id/knowledge/?v=$(date +%s)" \
| grep -oE '<title[^>]*>[^<]*</title>'
# lokal, tanpa Cloudflare
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8123/knowledge/index/
# apa yang terakhir dilakukan pipeline?
tail -5 /root/.hermes/monitoring/wiki-publish.log

Kalau bermasalah #

GejalaPenyebab yang paling seringTindakan
/team atau /knowledge balas 404shim belum dibuat (rsync menimpanya)jalankan publish-wiki.sh
Halaman baru tidak munculbelum 30 menit, atau build gagaltail log publish; jalankan sync --dry-run
Situs 502/1033tunnel mati, bukan situsnyasystemctl status cloudflared-wiki
Semua 404 tapi lokal 200live/ kosongrsync out/ live/ lalu restart wiki-static