Berkenalan dengan Verdaccio

Adiatma Kamarudin
Grow at Warung Pintar
4 min readMar 2, 2020

Apa itu Verdaccio?

Bagi Anda yang belum familiar dengan istilah ini, Verdaccio merupakan projek open source yang menyediakan layanan untuk menyimpan kode sumber kita dengan menggunakan paket manager nodejs, seperti npm.

Kenapa Butuh Verdaccio?

Kadang, di sebuah organisasi, kita perlu menyimpan kode sumber yang hanya diperuntukan untuk kebutuhan internal dan tidak ditujukan untuk dipublikasikan ke publik, seperti library yang terdapat di npm registry. Untuk layanan private, npm menyediakan dengan akses berbayar. Sayangnya, untuk akses self hosted, npm masih belum tersedia.

Verdaccio di Warung Pintar

Warung Pintar merupakan perusahaan teknologi yang memiliki visi dan misi untuk mentransformasi warung di Indonesia sebagai potensi perkembangan ekonomi di Indonesia. Untuk mencapai visi dan misi tersebut, diperlukan teknologi yang mumpuni untuk bisa mempertahankan keterikatan pengguna, yaitu para Juragan, dengan layanan-layanan Warung Pintar. Atas dasar itu, beberapa aplikasi yang kami tawarkan dikembangkan dengan basis nodejs, di mana kami menggunakan verdaccio sebagai layanan private registry.

Fitur-fitur yang Ditawarkan oleh Verdaccio

Apa sih yang membuat Verdaccio ini menarik?

1. Self Hosted.

Verdaccio dapat Anda unggah di Private Cloud dengan mudah. Tidak hanya itu, Verdaccio pun menyediakan paket npm library yang dipublikasikan sehingga mudah untuk diunggah. Cukup dengan menggunakan perintah npm install -g verdaccio, verdaccio akan terunggah secara global di komputer Anda.

Selain itu, verdaccio juga menyediakan paket image container yang di release di docker registry dan dapat kalian akses dengan mudah di https://hub.docker.com/r/verdaccio/verdaccio. Jika sudah mengunduh docker, verdaccio dapat diunduh dengan menggunakan perintah docker pull verdaccio/verdaccio. Jika berhasil, silakan cek keberadaannya dengan menggunakan perintah docker images | grep "verdaccio".

2. Private Registry.

Jika diterjemahkan ke Bahasa Indonesia, private registry bisa diartikan sebagai ‘pendaftaran pribadi’. Secara garis besar, layanan ini digunakan untuk menyimpan kode sumber yang menggunakan paket manager seperti npm di dalam sebuah ruang lingkup yang terbatas, di mana artinya hal ini tidak terbuka secara umum. Dengan layanan ini, Anda dapat membuat kode sumber private dan kemudian di-share untuk digunakan di lingkup internal organisasi Anda.

3. Configurable.

Verdaccio dapat diatur sesuai dengan keinginan Anda. Ada beberapa hal yang dapat Anda rubah, seperti custom theme, plugin, authorization, dan storage. Untuk lebih lanjut, Anda bisa cek di sini, https://verdaccio.org/docs/en/plugins.

Let’s try to use Verdaccio!

Setelah berkenalan dengan verdaccio, kini saatnya untuk mencoba verdaccio secara langsung dengan menggunakan docker container. Karena sebelumnya kita sudah berhasil mengunggah image verdaccio dari official docker registry, sekarang mari kita mulai coba menjalankannya.

Anda bisa memulai dengan menjalankan perintah docker run -it --name verdaccio —-rm -p 4873:4873 verdaccio/verdaccio:latest. Tunggu beberapa menit — Jangan lupa ditiriskan, biar mantap seperti Indomie.😜 — Jika berhasil, maka akan muncul tampilan di bawah ini,

Jika sudah sampai pada tahapan tersebut, Anda perlu memastikan berhasil atau tidaknya dengan membuka browser dan berkunjung kehttp://0.0.0.0:4873. Jika berhasil, tampilan yang akan muncul di layar Anda akan seperti screenshoot di bawah ini,

Untuk mencoba, Anda dapat mendaftarkan user baru di user registry verdaccio. Kemudian, Anda mencoba simulasi publish dengan cara membuka tab baru di terminal dan biarkan server verdaccio tetap berjalan di tab yang sebelumnya. Untuk menambahkan user baru, Anda cukup mengetik perintah npm adduser --registry http://0.0.0.0:4873 . Jika berhasil, akan terlihat seperti screenshoot di bawah, di mana muncul tulisan Logged in as adiatma on http://0.0.0.0:4873 ,

Selanjutnya, kita akan mencoba membuat projek sederhana yang akan dipublikasikan di lokal registry verdaccio.

Yes, berhasil! (Jangan lupa untuk menikmatinya dengan segelas kopi hangat tanpa gula. Ingat, karena gula itu ngga sehat buat tubuh kalian. 😏) Nah, langkah selanjutnya, Anda bisa coba mempublikasikan dengan menggunakan perintah npm publish —-registry http://0.0.0.0:4873 .

Sekarang, Anda bisa mencoba untuk reload browser dan lihat apa yang terjadi.

Dua halaman di atas adalah halaman default dari verdaccio, di mana tahapan di atas adalah tahapan dasar. Masih banyak hal yang perlu untuk di improve lebih lanjut.

Selanjutnya, Anda bisa mencoba menggunakan library yang sudah di-release sebelumnya untuk mencoba kita akan membuat satu projek lagi yang akan kita beri nama using-verdaccio.

Dari tampilan di atas, dapat dilihat bahwa kita sudah berhasil membuat projek dengan nama using-verdaccio dan sudah berhasil juga untuk mengunggah library dari lokal private registry kita. Dengan menggunakan perintah yarn add try-verdaccio —-registry http://0.0.0.0:4873, sekilas perintahnya terlihat sama seperti menambah library biasa dengan menggunakan npm. Hal yang membedakan adalah option —-registry http://0.0.0.0:4874, di mana gunanya adalah untuk meminta npm mengunggah paket dari alamat registry di http://0.0.0.0:4873.

--

--