Heroku adalah salah satu platform as a service yang ngetrend di luar negeri, untuk menghantarkan development aplikasi secara cepat ke klien oleh developernya langsung tanpa harus ribet mikir stack infra dibelakangnya. Layanan Heroku tergolong murah, namun memang bukan platform yang dilepas bebas/open, jadi kita tidak bisa membuat solusi Heroku sendiri dari Heroku.
Bagi yang pingin membuat Heroku-nya sendiri, silakan coba menggunakan Dokku. Dokku seperti dalam deskripsi singkatnya di Github adalah “Docker powered mini-Heroku. The smallest PaaS implementation you’ve ever seen.” Sebuah mini Heroku yang dikembangkan dengan Docker. Sebuah implementasi PaaS (platform as a service) terkecil.
Sejarah singkat Dokku
Dokku sebagai sebuah project opensource lahir di Github pada awal tahun 2016. Sampai sekarang, untuk sebuah project opensource, dokku terbilang jadi project yang sangat aktif. Sudah mendapat 18.3 ribu bintang di Github dan di Fork lebih dari 1500 orang. Rilis terakhir dilakukan 7 hari yang lalu (saat artikel ini terbit) yaitu versi 0.19.8.
Dokku juga membuka pintu lebar bagi developer seluruh dunia untuk membuat plugin-plugin menarik untuk teknologi DIY PaaS ini. Sudah ada banyak plugin yang ready to use di production, seperti dokku-postgres, dokku-mongo, dokku-mariadb, dokku-elasticsearch, dokku-mysql, dokku-redis, dll.
Instalasi Dokku
Untuk instalasi, ada 2 metode yang bisa digunakan untuk memasang Dokku.
Pertama, via script bash:
[sourcecode]wget https://raw.githubusercontent.com/dokku/dokku/v0.19.9/bootstrap.sh
sudo DOKKU_TAG=v0.19.9 bash bootstrap.sh
[/sourcecode]
kedua, kalau menggunakan Debian, bisa menjalankan perintah:
[sourcecode]
# setup dokku apt repository
wget -nv -O – https://get.docker.com/ | sh
wget -nv -O – https://packagecloud.io/dokku/dokku/gpgkey | apt-key add –
export SOURCE="https://packagecloud.io/dokku/dokku/ubuntu/"
export OS_ID="$(lsb_release -cs 2>/dev/null || echo "trusty")"
echo "utopicvividwilyxenialyakketyzestyartfulbionic" | grep -q "$OS_ID" || OS_ID="trusty"
echo "deb $SOURCE $OS_ID main" | tee /etc/apt/sources.list.d/dokku.list
apt-get update
# install dokku
apt-get install dokku
dokku plugin:install-dependencies –core # run with root!
[/sourcecode]