Deploy, Optimize, Update

Deploy, Optimize, Update
A ghost write a blogpost

Selamat datang diblog saya yang tidak baru-baru amat, blog ini sudah berganti CMS berkali-kali, mulai dari blogspot, wordpress, dan yang terakhir Ghost.

Tahun kemaren saya menginstall ghost disalah satu vps IPV6 yang cukup murah. Tapi karena vpsnya menurut saya agak lelet jadi saya biarkan vps itu expire karena berpikir file backupnya ada dan aman.

Dan ternyata? Kode enkripsi file backupnya diganti sama provider vpsnya dong (oknum pegawai orang prindavan).

Mengapa Saya berpikir begitu?

Karena beberapa bulan selanjutnya vps saya yang lain diprovider yang sama kena DELETE secara sepihak dan sengaja oleh oknum itu juga (menurut pengakuan pihak hostingnya sudah dikeluarkan dari perusahaan hosting tersebut).

Jadi sekarang hosting dimana?

Untuk saat ini saya menggunakan vps gratisan dari salah satu provider di Indonesia. Penasaran? Ga usah la ya, soalnya kalau banyak yang tau jadi makin banyak saingan.

VPS untuk blog ini menggunakan server dari US dengan spek seperti ini :

Spek VPS Gratisan
Spek VPS Gratisan

Rencananya saya hanya menggunakan VPS ini untuk install Ghost dan Redlib. Karena spesifikasinya lumayan terbatas, jadi baiknya tidak diinstall app yang banyak makan memori dan disk space.

Bagaimana cara menginstall Ghost di VPS dengan spek minim?

Saya terbiasa menggunakan vps dengan spesifikasi minimal yang didapat dari Lowendtalk atau Lowenspirit. Jadi lebih sering mencari cara agar bisa memanfaatkan semaksimal mungkin resource yang ada.

Dalam kasus CMS Ghost ada cara lebih menghemat resource VPS, yaitu dengan menggunakan SQLite sebagai database.

Umumnya Ghost menggunakan MySQL sebagai database utama, jika diinstall pada VPS akan menambah resource puluhan megabyte. Tapi jika menggunakan eksternal database seperti neon.tech apalagi menggunakan versi gratisan, maka yang dikorbankan adalah kecepatan website.

Karena eksternal database membutuhkan waktu untuk terkoneksi ke host.

Jadi dengan menggunakan SQLite yang hanya berupa file dan berada disatu hosting, waktu yang digunakan untuk mengakses database menjadi lebih cepat.

Traefik sebagai reverse proxy

Biasanya saya menggunakan Nginx Proxy Manager sebagai reverse proxy andalan, karena lebih mudah untuk setting proxy hostnya, hanya dengan menambahkan beberapa pengaturan. SSL certificate pun bisa didapatkan dengan mudah dari Letsencrypt dengan combo dari Cloudflare.

Salah satu kekurangan dari NPM (Nginx Proxy Manager) adalah size docker imagenya yang lumayan besar dan memakai 100-an MB lebih RAM.

Bandingkan dengan Nginx versi docker yang hanya menghabiskan 3MB-an RAM atau caddy sekitar 20-30 MB dan Traefik yang juga hanya memakai RAM sekitar 20-30 MB

Docker stats for Ghost and Traefik
Docker stats for Ghost and Traefik

Dengan fakta tersebut saya lebih memilih menggunakan Traefik sebagai reverse proxy untuk blog Ghost saya ini.

Memanfaatkan Cloudflare untuk mempercepat akses blog Ghost

Saya adalah salah satu pengguna setia Cloudflare, walaupun banyak komentar miring dari penggiat privasi, tapi kemudahan yang diberikan seperti akses vps IPV6 dari koneksi IPV4.

Walaupun ada beberapa internet provider di Indonesia yang sudah menggunakan IPV6 sebagai koneksi utama seperti Indihome dan XL Axiata, tapi belum semua yang mengadopsinya.

Karena hal itu, VPS atau koneksi yang menggunakan hanya IPV6 tidak akan dapat diakses oleh perangkat yang hanya mendukung koneksi IPV4.

Banyak VPS murah hanya menyediakan IP versi 6 untuk menghemat pengeluaran sehingga harga VPS bisa ditekan semurah mungkin.

Dengan menggunakan tombol orange di Cloudflare koneksi dari IPV4 bisa diteruskan ke vps yang hanya menggunakan IPV6.

Optimasi Image dan CDN menggunakan CloudImage

Gambar merupakan hal yang krusial dari sebuah blog, sekaligus salah satu objek yang banyak menghabiskan ruang disk dan bandwidth.

Dengan menggunakan CDN paling tidak bandwidth di hosting/VPS berkurang dan load server tidak berat.

Saya menggunakan cloudimage yang memberikan gratis 25GB disk space dan 25GB bandwidth perbulannya. Cukup untuk blog yang pengunjungnya untuk blog unyu-unyu seperti blog ini.

Ada juga alternatif lain dari Cloudimage sebagai image CDN dan optimizer yaitu Cloudinary. Kebetulan Cloudinary juga memberikan free 25GB diskspace dan 25GB bandwidth, sama seperti Cloudimage.

Selanjutnya

Diartikel mendatang saya akan membagikan cara optimasi blog CMS Ghost dengan Cloudflare.