- Gitea, GitLab ve GitHub'a kıyasla çok az sistem kaynağı tüketen, hafif bir alternatiftir.
- Kurulum, SystemD aracılığıyla bir hizmet olarak yönetilen çalıştırılabilir bir ikili dosyaya dayanmaktadır.
- Nginx ile ters proxy kullanmak, HTTPS üzerinden güvenli erişimi sağlamak için çok önemlidir.
- Bu özellik, sorunları ve etiketleri koruyarak mevcut depoları diğer platformlardan taşımaya olanak tanır.

GitHub veya GitLab gibi devlerin kurallarına, maliyetlerine veya erişilebilirliğine bağlı kalmaktan bıktıysanız, kendi altyapınızı kurmak en doğru yoldur. Evde veya kendi ofisinizde bir Git sunucusuna sahip olmak size krallığın anahtarlarını verir: kod üzerinde mutlak kontrol , tam erişim yönetimi ve özel depolarınızda üçüncü taraf kısıtlamalarının olmamasının verdiği huzur.
Mevcut tüm seçenekler arasında Gitea, adeta bir mücevher gibi öne çıkıyor. Go dilinde yazılmış bir araç olması, onu inanılmaz derecede hafif ve hızlı kılıyor ; 16 GB RAM'i bir Git sunucusuna ayırmak istemeyenler için ideal. Özellik bakımından zengin ancak kaynak tüketimi yüksek bir okyanus gemisi olan GitLab'ın aksine, Gitea bir sürat teknesi gibi: doğrudan konuya giriyor, çok az kaynak tüketiyor ve GitHub kullanan herkes için oldukça tanıdık bir arayüz sunuyor.
Hızlı karşılaştırma: Gitea, GitLab ve Forgejo

Kuruluma başlamadan önce, neyle karşılaşacağınızı bilmekte fayda var. GitLab, entegre CI/CD'ye ihtiyaç duyan büyük ekipler için ideal olan, kurumsal düzeyde bir seçenektir, ancak güçlü donanım gerektirir. Öte yandan Gitea, çok düşük bellek kullanımı nedeniyle mütevazı sunucular veya kişisel projeler için en iyi seçimdir . Son olarak, Gitea'nın topluluk tarafından geliştirilmiş bir sürümü olan Forgejo var; eğer özgür yazılım konusunda katı bir tutum sergiliyorsanız ve kurumsal çağrışımlar olmadan açık yönetimi tercih ediyorsanız, bu sizin için doğru alternatiftir.
Başlamadan önce ihtiyacınız olanlar

Her şeyin sorunsuz çalışmasını sağlamak için, root erişimine sahip bir Linux sunucunuz (Ubuntu, Debian veya Rocky Linux) olduğundan emin olun. Ayrıca makinede Git'in kurulu olması da şarttır ve Gitea SQLite kullanımına izin verse de, üretim ortamları için veri istikrarını garanti altına almak amacıyla PostgreSQL veya MariaDB şiddetle tavsiye edilir.
Sistemde zemini hazırlamak

Gitea'yı root olarak çalıştırmak güvenlik nedenleriyle iyi bir fikir değildir. Bunun yerine özel bir kullanıcı oluşturmak en iyisidir. Bunu şu komutu çalıştırarak yapabilirsiniz: adduser --system --shell /bin/bash --group --home /home/gitea gitea. kullanmak şarttır /bin/bash kabuk olarak Çünkü Gitea'nın SSH üzerinden git-shell ile etkileşim kurması gerekiyor. Eğer Git henüz kurulu değilse, basit bir kurulum yeterli olacaktır. apt install git Sorunu hızlıca çözeceğiz.
İkili dosya kurulumu ve klasör yapısı

Gitea'nın kurulumu çeşitli şekillerde yapılabilir, ancak ikili dosya en basit yöntemdir. Resmi web sitesinde en son kararlı sürümü bulup [yöntem/yöntem] kullanarak indirmelisiniz. wget en /usr/local/bin/giteadaha sonra vermek chmod +x komutuyla çalıştırma izinlerini etkinleştirin.Programın doğru şekilde çalışabilmesi için bir dizi özel dizinin oluşturulması gerekmektedir: /etc/gitea yapılandırma için ve /var/lib/gitea Özel veriler, günlükler ve dosyalar için. Ayarlamayı unutmayın. mülk izinleri (chown) Böylece gitea kullanıcısı onlara yazabilir.
Veritabanı yapılandırması
PostgreSQL'i seçerseniz, veritabanına ek olarak paketi kurmanız ve güçlü bir parola ile belirli bir rol oluşturmanız gerekecektir. giteadb UTF8 kodlamasıyla. Eğer MariaDB'yi tercih ederseniz, süreç benzerdir: veritabanını ve kullanıcıyı oluşturursunuz ve şunlardan emin olursunuz: Depolama motoru InnoDB'dir. ve sunucunun 3306 numaralı bağlantı noktasında dinleme yaptığını belirtir.
SystemD ile Otomasyon
Sunucuyu her yeniden başlattığınızda Gitea'yı manuel olarak başlatmak zorunda kalmamak için, bir sürücü dosyası oluşturmanız en iyisidir. /etc/systemd/system/gitea.serviceBu dosya sisteme şunu bildirir: Gitea bir hizmet olarak işletilmelidir.Kullanıcıyı, grubu ve ikili dosya yolunu tanımlayın. Oluşturulduktan sonra, çalıştırmanız yeterlidir. systemctl enable --now gitea Sunucu varsayılan olarak 3000 numaralı bağlantı noktasında dinlemeye başlayacaktır.
Web arayüzüyle ilk temas
girdikten sonra http://tu-ip:3000Ardından kurulum sihirbazıyla karşılaşacaksınız. Burada veritabanına bağlanırsınız (sunucu, kullanıcı adı ve şifreyi belirterek) ve tanımlamaları yaparsınız. genel site ayarlarıÖrnek adı ve temel URL gibi bilgiler de dahil olmak üzere, SSH sunucusunu yapılandırmanın ve herkesin kayıt olabilmesine izin vermek isteyip istemediğinize veya tercih ettiğiniz şekilde giriş yapıp yapamayacağınıza karar vermenin zamanı geldi... Genel günlük kaydını devre dışı bırak Sunucunun gizliliğini korumak için.
Nginx ile güvenlik ve profesyonel erişim
Gitea'ya 3000 numaralı port üzerinden erişmek verimsiz ve güvensizdir. İdeal çözüm, Nginx ile bir ters proxy kurmaktır . Bu, kullanıcıların siteye bir alan adı (örneğin, git.yourdomain.com) üzerinden erişmesine olanak tanır ve tüm trafiğin Let's Encrypt SSL sertifikaları kullanılarak şifrelenmesini sağlar . Nginx yapılandırmasında, istemcinin gerçek IP adresini kaybetmemek için X-Forwarded-For başlıklarını ekleyerek trafiği 443 numaralı porttan Gitea'nın 3000 numaralı portuna yönlendirmeniz yeterlidir.
Kullanıcı yönetimi ve kod geçişi
Açık günlük kaydını devre dışı bıraktıysanız, komut satırını kullanarak şu komutla ilk yöneticiyi oluşturabilirsiniz: gitea admin user createİçeri girdikten sonra, eklemeler yapabilirsiniz. herkese açık SSH anahtarları Kullanıcı profilinde, her seferinde şifre girmeden depoları klonlamak için bir seçenek bulunur. Eğer GitHub'da zaten kodunuz varsa, Gitea'nın bir seçeneği daha var. entegre göç aracı Sadece kodu değil, sorunları ve etiketleri de otomatik olarak içe aktarır.
Bakım ve ayarlama
Gitea'yı sürdürmek inanılmaz derecede kolaydır. Güncellemek için, yeni dosyayı indirmeniz, eskisiyle değiştirmeniz ve hizmeti yeniden başlatmanız yeterlidir. Yedeklemeler için şu komutu kullanın: gitea dump O senin en iyi arkadaşın, çünkü bir şey üretiyor. her şeyi içeren sıkıştırılmış dosyaVeritabanı, yapılandırma ve depolar. E-posta için, harici bir SMTP sunucusu (örneğin Gmail) yapılandırabilir veya çekme istekleri ve uyarı bildirimlerini almak için sunucuya Postfix kurabilirsiniz.
Gitea'yı uygulamak, ikili tabanlı kurulum, optimize edilmiş veritabanı ve HTTPS üzerinden trafik güvenliğini garanti eden ters proxy sayesinde harici hizmetlere olan bağımlılığı ortadan kaldıran, sağlam, hafif ve tamamen özel bir sürüm kontrol platformuna sahip olmanızı sağlar.