Pemrograman

Insight & Tutorials in Bahasa Indonesia

Follow publication

Gitea — Personal Repositori Untuk Git

Equan P.
Pemrograman
Published in
4 min readJun 10, 2018

--

Photo by Sanwal Deen on Unsplash

Ada banyak alasan untuk memakai repositori seperti Github maupun Bitbucket tetapi untuk anda yang menginginkan repositori pribadi dan portabel ada baiknya anda melihat Gitea.

Repositori Portabel

Gitea dibangun memakai bahasa Go atau Golang yang memungkinkan untuk membangun aplikasi dengan produk akhir yaitu single binary release, artinya hanya ada satu file executeable yang dihasilkan dan keuntungan utama adalah kemudahan dalam pendistribusian maupun instalasi atau deployment.

Lalu apa hubungannya dengan repositori portabel?

Gitea release juga menyediakan binary release untuk mesin kecil seperti Raspberry Pi artinya dalam kasus tertentu seperti misalnya anda sering berpindah tempat dan membutuhkan repositori khusus ketika anda bekerja maka Gitea yang berjalan di Raspberry Pi bisa menjadi pilihan,

Bayangkan saja anda mencolokkan drive eksternal hanya saja drive eksternal ini bisa diakses melalui WiFi dan berfungsi khusus sebagai repositori.

Dari sudut pandang yang lain anda juga bisa “meng-upgrade” repositori dengan memindahkan data data dari Raspberry Pi ke mesin yg lebih besar tanpa banyak merubah instalasi dan prosesnya bisa semudah copy-paste.

Raspberry Pi + Gitea

Saya asumsikan anda mempunyai akses Raspberry Pi melalui SSH dan memakai Raspbian, kemudian ikuti langkah berikut untuk menginstall Gitea.

  1. Instal Git
pi@raspberrypi: $ sudo apt-get install git

2. Download Gitea untuk platform yang anda pakai, saya memakai Raspberry Pi 2

3. Buat symlink, jalankan Gitea dan pengesetan konfigurasi

pi@raspberrypi: $ ln -s gitea-1.4.2-linux-arm7 gitea

Secara default gitea akan memakai direktori dimana gitea berada untuk menyimpan data-data repositori. Lebih lanjut anda bisa mengkustomisasi melalui file app.ini atau untuk mudahnya anda bisa memakai antar muka web gitea pada default port 3000 (dan sesuaikan alamat ip dari Raspberry Pi)

http://192.168.1.102:3000
Konfigurasi Web Gitea Memakai SQLite

Kustomisasi diatas akan membuat file app.ini di direktori custom/conf yang kemudian anda bisa meng-edit-nya secara manual jika diperlukan.

Kenapa memakai SQLite? proses instalasi di Raspberry Pi 2 jauh lebih cepat dibandingkan jika memakai MySQL (kecuali jika and memakai Raspberry Pi 3).

4. Buat user dan kalau anda biasa memakai Github maka akan sangat mudah memakai interface gitea ini.

Terlihat familiar? ya benar!

Gitea sebagai Service

Supaya Gitea berjalan juga pada saat boot OS artinya anda tidak perlu capek-capek menjalankan Gitea secara manual maka anda perlu membuat berkas service systemd.

pi@raspberrypi: $ sudo nano /etc/systemd/system/gitea.service
gitea.service

Pastikan user, group dan path sudah benar pada berkas gitea.service karena disini biasanya terjadi masalah. Untuk menjalankan service ini

pi@raspberrypi: $ sudo systemctl restart gitea 

dan untuk menjalankan service gitea pada saat Raspberry Pi boot jalankan saja perintah berikut

pi@raspberrypi: $ sudo systemctl enable gitea

Ekspansi dengan USB Drive

Data-data repositori bisa anda simpan dalam USB Drive bersama dengan berkas executable gitea dan efeknya yaitu anda bisa dengan aman melepas USB Drive dari Raspberry Pi! 👏

Sayangnya Raspberry Pi dengan Raspbian tidak bisa auto-mount USB Drive pada saat boot OS sehingga anda perlu melakukan sedikit langkah ekstra.

Raspberry Pi pada saat boot akan membaca berkas /etc/fstab untuk mengenali semua drive sehingga anda harus meng-edit berkas tersebut.

Yang perlu anda tambahkan adalah baris terakhir pada berkas tersebut.

UUID merupakan ID USB Drive yang akan di mount pada saat boot dan direktori /media/usb1 adalah direktori dimana USB akan di mount, uid & gid adalah id dari user dan group yang nantinya mempunyai hak akses penuh ke USB Drive (samakan dengan user yang menjalankan Gitea).

pi@raspberrypi: $ sudo apt-get install ntfs-3gpi@raspberrypi: $ ls -l /dev/disk/by-uuidpi@raspberrypi: $ id -g pipi@raspberrypi: $ id -u pi

Jangan lupa reboot dan pastikan direktori mount dalam hal ini yaitu /media/usb1 ada.

Secara utuh dalam satu USB Drive anda bisa memiliki repositori lengkap beserta berkas executeable gitea.

Hack

Lalu apakah mungkin untuk menjalankan Gitea secara langsung pada USB Drive?

Sangat mungkin apalagi untuk lingkungan Windows hanya saja anda perlu memperhatikan perubahan letter drive pada berkas app.ini (yang tidak portabel) atau option pada CLI gitea dan saya rasa portabilitas agak sedikit dikorbankan atau menjemukan karena harus selalu mengedit letter drive jika anda melepas USB Drive apalagi harus berpindah-pindah komputer dan juga mungkin permission issues yang timbul jika misalnya anda memakai USB Drive lintas OS 😫.

Jadi solusi yang tepat menurut saya adalah dibutuhkan dedicated komputer yang khusus berfungsi sebagai repositori.

Ok cukup sekian.
Keep code and happy hacking!

Tentang Saya
Programer yang tidak terlalu bertendensi ke bahasa pemrograman tertentu, meskipun saya termasuk fans berat dari Node.js tetapi selama problem terselesaikan ok saja kalau harus memakai teknologi lain — Github, Twitter

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response