NgodingSantai adalah situs statis sehingga GitHub Pages sebenarnya mampu menyajikan HTML, CSS, JavaScript, dan custom domain. Proyek akhirnya memakai Ubuntu VPS karena server tersebut sudah tersedia dan kebutuhan mencakup virtual host Nginx, kontrol header, log, serta hidup berdampingan dengan aplikasi lain. Artikel ini membandingkan konsekuensi nyata, bukan menentukan satu layanan selalu lebih baik.

Diagram pilihan sumber GitHub dan tujuan Ubuntu VPS
Repository tetap menjadi sumber pada dua model. Perbedaannya terletak pada siapa yang mengelola origin, TLS, routing, dan operasi.

Kapan GitHub Pages cukup

Pages cocok ketika output benar-benar statis, proses deployment ingin sesederhana push, dan kontrol server khusus tidak dibutuhkan. HTTPS serta custom domain didukung. Pengelola tidak perlu menambal OS, mengatur firewall, atau memantau Nginx.

Konsekuensinya: aturan server khusus terbatas, tidak ada proses backend bebas, dan struktur path harus diuji sesuai publishing source. Untuk portofolio, dokumentasi, atau blog statis sederhana, batas tersebut sering justru mengurangi pekerjaan operasional.

Kapan VPS masuk akal

VPS memberi kendali terhadap virtual host, redirect, header, cache, log, TLS, permission, dan aplikasi lain. Kendali itu datang bersama tanggung jawab update keamanan, backup konfigurasi, firewall, monitoring, sertifikat, serta recovery. VPS bukan otomatis lebih cepat atau lebih profesional.

KebutuhanGitHub PagesUbuntu VPS
Deploy statisPush atau ActionsClone/pull dan konfigurasi server
HTTPSDikelola layananCertbot dan renewal dikelola
Header/cache khususTerbatasDapat diatur di Nginx
Log originTidak seperti server sendiriAccess dan error log tersedia
Maintenance OSTidak dikelola penggunaTanggung jawab administrator
Multi-aplikasiBukan fungsi utamaVirtual host dan reverse proxy tersedia

Masalah path pada hosting berbasis repository

GitHub Pages project site dapat berada di subpath repository. URL absolut seperti /assets/style.css dapat menunjuk root host, bukan project path. Relative URL atau konfigurasi base yang benar dibutuhkan. Pada VPS dengan domain root, /assets/ menunjuk root domain sehingga modelnya berbeda.

Custom domain dan file CNAME

Pada Pages, custom domain diatur melalui repository dan DNS. File CNAME dapat dipakai sesuai metode publishing. Pada VPS, DNS mengarah ke IP sendiri, sementara Nginx mencocokkan server_name. Mencampur record Pages dan A VPS dapat membuat hasil berubah-ubah.

Alasan proyek memilih VPS

Server sudah tersediaTencent Cloud Ubuntu aktif dan dapat menampung virtual host baru.
Perlu coexistenceNgodingSantai harus hidup berdampingan dengan aplikasi yang sudah dilayani Nginx.
Kontrol respons404, cache, protected paths, gzip, dan header keamanan dikendalikan di origin.
Biaya operasiPatch OS, firewall, TLS, backup, serta downtime menjadi tanggung jawab sendiri.

Pipeline VPS yang dipakai

git push origin master
ssh ubuntu@VPS_IP
cd /var/www/ozancicak.biz.id
git status --short
git pull --ff-only origin master
sudo nginx -t
curl -I https://ozancicak.biz.id/

Reload Nginx hanya dilakukan jika konfigurasi berubah. Artikel dan aset statis tidak membutuhkan restart service.

Migrasi tidak berarti menghapus opsi lama

GitHub Pages tetap berguna sebagai pilihan disaster recovery atau staging jika direncanakan dengan domain berbeda dan canonical yang tepat. Namun menerbitkan salinan identik pada dua domain tanpa aturan canonical atau akses yang jelas dapat membingungkan pengguna dan crawler. Produksi NgodingSantai memilih satu canonical.

Checklist memilih

  • Pilih Pages bila tujuan utama adalah statis sederhana dengan beban operasi minimum.
  • Pilih VPS bila kontrol server memang diperlukan dan ada kemampuan merawatnya.
  • Jangan memilih VPS hanya karena menganggap IP sendiri meningkatkan SEO atau AdSense.
  • Hitung backup, patch, monitoring, dan waktu pemulihan sebagai biaya.
  • Simpan source serta riwayat di Git pada kedua model.

Referensi primer

Bandingkan risiko kegagalan

Pada Pages, kegagalan utama biasanya build, branch publishing, DNS, atau custom domain. Pada VPS, ruang masalah bertambah: permission, service, firewall, sertifikat, disk, konfigurasi virtual host, serta update OS. Log tambahan membantu diagnosis, tetapi administrator juga harus mengerti cara membacanya.

Biaya bukan hanya harga bulanan

VPS yang sudah dibayar dapat terlihat gratis untuk situs tambahan, namun waktu maintenance dan risiko mengganggu aplikasi lama tetap biaya. Pages dapat mengurangi operasi, tetapi batas fitur mungkin mendorong layanan eksternal. Keputusan ditinjau kembali bila traffic, kebutuhan backend, atau kemampuan pemeliharaan berubah.

Rencana keluar mencegah lock-in operasional

Karena output berupa file statis dan domain dikelola terpisah, situs dapat dipindahkan lagi. Repository menyimpan source, DNS didokumentasikan, URL canonical stabil, serta Nginx tidak menyimpan konten unik di luar Git. Portabilitas ini sengaja dipertahankan.

Artikel terkait