- Gitea adalah alternatif ringan untuk GitLab dan GitHub yang mengonsumsi sangat sedikit sumber daya sistem.
- Instalasi ini didasarkan pada file biner yang dapat dieksekusi dan dikelola sebagai layanan melalui SystemD.
- Penggunaan reverse proxy dengan Nginx sangat penting untuk memungkinkan akses aman melalui HTTPS.
- Fitur ini memungkinkan migrasi repositori yang sudah ada dari platform lain sambil tetap mempertahankan isu dan tag.

Jika Anda lelah bergantung pada aturan, biaya, atau ketersediaan raksasa seperti GitHub atau GitLab, membangun infrastruktur sendiri adalah jalan yang tepat. Memiliki server Git di rumah atau di kantor Anda sendiri memberi Anda kunci menuju kekuasaan: kendali mutlak atas kode , manajemen akses total, dan ketenangan pikiran karena tidak adanya batasan pihak ketiga pada repositori pribadi Anda.
Di antara semua pilihan yang tersedia, Gitea menonjol sebagai permata tersembunyi. Ini adalah alat yang ditulis dalam bahasa Go, yang membuatnya sangat ringan dan cepat , ideal bagi mereka yang tidak ingin mengalokasikan 16 GB RAM untuk server Git. Tidak seperti GitLab, yang kaya fitur tetapi boros sumber daya, Gitea seperti perahu cepat: langsung ke intinya, mengonsumsi sangat sedikit sumber daya, dan menawarkan antarmuka yang sangat familiar bagi siapa pun yang pernah menggunakan GitHub.
Perbandingan singkat: Gitea, GitLab, dan Forgejo

Sebelum masuk ke tahap instalasi, ada baiknya mengetahui apa yang akan Anda dapatkan. GitLab adalah pilihan utama untuk perusahaan besar, ideal untuk tim besar yang membutuhkan CI/CD terintegrasi, tetapi membutuhkan perangkat keras yang mumpuni. Gitea, di sisi lain, adalah pilihan terbaik untuk server sederhana atau proyek pribadi karena penggunaan memorinya yang sangat kecil. Terakhir, ada Forgejo, sebuah fork komunitas dari Gitea; jika Anda seorang purist perangkat lunak bebas dan lebih menyukai tata kelola terbuka tanpa nuansa korporat, ini adalah alternatif untuk Anda.
Apa yang Anda butuhkan sebelum memulai

Untuk memastikan semuanya berjalan lancar, pastikan Anda memiliki server Linux (baik Ubuntu, Debian, atau Rocky Linux) dengan akses root. Penting juga untuk menginstal Git pada mesin tersebut, dan meskipun Gitea memungkinkan penggunaan SQLite, untuk lingkungan produksi, PostgreSQL atau MariaDB sangat direkomendasikan untuk menjamin stabilitas data.
Mempersiapkan landasan dalam sistem

Menjalankan Gitea sebagai root bukanlah ide yang baik karena alasan keamanan. Sebaiknya buat pengguna khusus. Anda dapat melakukannya dengan menjalankan perintah berikut: adduser --system --shell /bin/bash --group --home /home/gitea giteaSangat penting untuk menggunakan /bin/bash sebagai shell karena Gitea perlu berinteraksi dengan git-shell melalui SSH. Jika Anda belum menginstal Git, cukup lakukan langkah-langkah sederhana berikut ini: apt install git akan menyelesaikan masalah dengan cepat.
Instalasi biner dan struktur folder

Gitea dapat diinstal dengan beberapa cara, tetapi cara yang paling mudah adalah melalui binary. Anda harus mencari versi stabil terbaru di situs web resminya dan mengunduhnya menggunakan [metode/metode]. wget en /usr/local/bin/giteamemberikannya nanti Ubah izin eksekusi dengan chmod +xAgar program berfungsi dengan benar, serangkaian direktori khusus harus dibuat: /etc/gitea untuk konfigurasi dan /var/lib/gitea untuk data kustom, log, dan file. Jangan lupa untuk menyesuaikan izin properti (chown) agar pengguna gitea dapat menulis ke dalamnya.
Konfigurasi basis data
Jika Anda memilih PostgreSQL, Anda perlu menginstal paket dan membuat peran khusus dengan kata sandi yang kuat, selain basis data. giteadb dengan pengkodean UTF8. Jika Anda lebih suka MariaDB, prosesnya serupa: Anda membuat basis data dan pengguna, memastikan bahwa Mesin penyimpanan yang digunakan adalah InnoDB. dan bahwa server tersebut mendengarkan pada port 3306.
Otomatisasi dengan SystemD
Untuk menghindari keharusan memulai Gitea secara manual setiap kali Anda memulai ulang server, sebaiknya buat file drive di /etc/systemd/system/gitea.serviceFile ini memberi tahu sistem bahwa Gitea harus dijalankan sebagai layanan.dengan menentukan pengguna, grup, dan jalur biner. Setelah dibuat, cukup jalankan systemctl enable --now gitea dan server akan mulai mendengarkan, secara default, pada port 3000.
Kontak pertama dengan antarmuka web
Setelah memasuki http://tu-ip:3000Anda kemudian akan menemui wizard pengaturan. Di sinilah Anda menghubungkan basis data (dengan menentukan host, nama pengguna, dan kata sandi) dan mendefinisikan... pengaturan situs umum, seperti nama instance dan URL dasar. Ini juga saatnya untuk mengkonfigurasi server SSH dan memutuskan apakah Anda ingin siapa pun dapat mendaftar atau jika Anda lebih suka... menonaktifkan pencatatan publik untuk menjaga agar server tetap privat.
Keamanan dan akses profesional dengan Nginx
Mengakses Gitea melalui port 3000 tidak efisien dan tidak aman. Solusi ideal adalah dengan menyiapkan reverse proxy menggunakan Nginx . Ini memungkinkan pengguna untuk mengakses situs melalui domain (misalnya, git.yourdomain.com) dan memastikan semua lalu lintas dienkripsi menggunakan sertifikat SSL Let's Encrypt . Dalam konfigurasi Nginx, cukup alihkan lalu lintas dari port 443 ke port 3000 Gitea, tambahkan header X-Forwarded-For untuk menghindari hilangnya alamat IP asli klien.
Manajemen pengguna dan migrasi kode
Jika Anda menonaktifkan pencatatan log terbuka, Anda dapat membuat administrator pertama menggunakan baris perintah dengan perintah gitea admin user createSetelah masuk, Anda dapat menambahkan kunci SSH publik di profil pengguna untuk mengklon repositori tanpa harus memasukkan kata sandi setiap kali. Jika Anda sudah memiliki kode di GitHub, Gitea memiliki alat migrasi terintegrasi Fitur ini secara otomatis mengimpor tidak hanya kode, tetapi juga isu dan tag.
Perawatan dan penyetelan
Memelihara Gitea sangat mudah. Untuk memperbarui, cukup unduh binary baru, ganti yang lama, dan mulai ulang layanan. Untuk pencadangan, gunakan perintah gitea dump adalah sahabat terbaikmu, karena ia menghasilkan file terkompresi berisi semuanyaBasis data, konfigurasi, dan repositori. Untuk email, Anda dapat mengkonfigurasi server SMTP eksternal (seperti Gmail) atau menginstal Postfix di server untuk menerima notifikasi permintaan pull dan peringatan.
Mengimplementasikan Gitea memungkinkan Anda memiliki platform kontrol versi yang tangguh, ringan, dan sepenuhnya privat, menghilangkan ketergantungan pada layanan eksternal melalui instalasi berbasis biner, basis data yang dioptimalkan, dan proksi terbalik yang menjamin keamanan lalu lintas melalui HTTPS.