Selingan setelah sebelumnya berkutat dengan ANN dan kaitannya dengan deep learning, maka saya coba bersih-bersih docker image dan container pada server utama. Lumayan bisa mengurangai kapasitas sebesar 4 giga lebih. Teringat juga untuk melakukan upgrade Ghost dari versi 1 ke versi 2. Dulu sempat mencoba akan tetapi tidak berhasil dan menjadikannya tidak jalan sama sekali. Artikel ini mencoba untuk memberikan langkah sederhana apa yang harus dilakukan untuk melakukan upgrade dan migrasi Ghost dari versi 1 ke versi 2 dengan docker.
Saya memiliki satu buah blog pribadi qudori.web.id, yang biasa saya gunakan untuk menulis kisah, pengalaman, dan lain-lain. Blog ini menggunakan engine Ghost versi 1 yang sebenarnya sudah berjalan cukup lama. Awalnya tidak lagi tertarik untuk upgrade dikarenakan pernah terjadi kegagalan akan tetapi melihat ada ide yang bisa dilakukan maka sembari refreshing saya lakukan juga.
Ada beberapa hal yang perlu diketahui jika ingin mengikuti panduan artikel ini. Diantaranya:
- Ghost yang anda miliki berada versi diatas 1.26
- Ghost berjalan pada docker
- Image Ghost menggunakan GNU/Linux Alpine
- Ghost menggunakan MariaDB sebagai penyimpan data dan kontennya.
Kasus yang ada di saya, Ghost yang terpasang dibawah 1.26 yakni versi 1.24. Jika ingin mengetahui Ghost kita terpasang versi berapa silakan buka saja tautan pada pojok kiri atas kemudian pilihg “About Ghost”. Nanti akan muncul halaman dengan tulisan versi Ghost yang terpasang.
Agar syarat diatas itu bisa terpenuhi, langkah yang harus dilakukan terlebih dahulu adalah bertahap dengan melakukan upgrade dari versi 1.24 ke versi 1 juga tapi yang versi yang paling terbaru yakni 1.26. Untuk melakukan upgrade dengan docker sebenarnya sangat mudah. Cukup ubah image pada settingan docker-compose.yml dari sebelumnya yang 1.24 ke 1.26. Tentu saja yang harus dilakukan terlebih dahulu adalah backup semua konten kita terlebih dahulu.
Setelah yakin dengan backup baru matikan terlebih dahulu kontainer kita. Karena saya memisahkan antara Ghost, basis data, dan web server, maka kita perlu perhatikan juga agar jangan sampai semua harus mati sementara sedang dalam posisi digunakan.
Karena panduan ini masih mengikut kasus saya maka langkah awal saya upgrade Ghost dulu dari versi 1.24 ke 1.26.
$ docker-compose down
Tunggu sejenak hingga semua kontainer yang saling terkait itu mati. Setelah yakin semuanya mati. Silakan cukup dengan mengubah konfigurasi berikut:
version: “2”
services:
ghost_qudori:
container_name: ${CONTAINER_GHOST_QUDORI_NAME}
image: ghost:1.26-alpine
#image: ghost:1.24.5-alpine
Perhatikan bagian parameter image, ada dua, yang satu di-comment dengan tanda # yang artinya tidak digunakan. Satu lagi yang sudah kita ubah. Ini adalah posisi yang sudah kita ubah. Awalnya adalah menggunakan parameter image: ghost:1.24.5-alpine.
Kuncinya adalah tertib dalam melakukan upgrade. Jadi kita tidak bisa serta merta upgrade dari versi 1.24 langsung versi 2. Ghost menginginkan kita harus upgrade terlebih dahulu ke versi 1 tapi yang terbaru yakni 1.26.
Setelah parameter diubah / diganti. Langkah selanjutnya simpel. Jalankan saja kembali docker yang tadi kita matikan. Proses ini sebenarnya melakukan dua buah hal penting:
- Melakukan download image terbaru Ghost yakni versi 1.26
- Migrasi sistem dari versi 1.24 ke 1.26 secara otomatis
Sebenarnya dengan melakukan ini kita tidak perlu ubah parameter lainnya. Karena semua isi dan konten yang ada itu sama hanya yang berubah versi engine-nya saja. Cara yang sama dilakukan. Setelah yakin Ghost kita sudah upgrade nyalakan kembali docker-compose.yml up. Tunggu hingga proses selesai.
Cara yang sama hendaknya dilakukan lagi. Matikan layanan docker kita kemudian ubah versi image dari 1.26 ke versi 2. Dalam hal ini konfigurasi yang saya ubah adalah sebagai berikut:
version: “2”
services:
ghost_qudori:
container_name: ${CONTAINER_GHOST_QUDORI_NAME}
image: ghost:2-alpine
#image: ghost:1.26-alpine
#image: ghost:1.24.5-alpine
Kalau kita perhatikan hierarkinya maka akan tampak jelas upgrade dimulai dari versi 1.24 menuju versi 1.26 hingga versi 2. Perlu diketahui bahwa sistem operasi image yang digunakan juga harus yang sejenis. Jika kita biasa menggunakan alpine maka upgrade sebaiknya ke alpine.
Selanjutnya kita bisa cek versi upgrade yang terbaru versi 2 dari Ghost kita seperti pada Gambar 1 dibawah ini.
Sampai disini paham ya ?. Selamat mencoba.