Self-hosted Git altyapısı yalnız repository barındırmak değildir. Web arayüzü, Git SSH/HTTP, Actions veya CI runner, container registry, backup ve kullanıcı yetkileri birlikte planlanmalıdır. Build workload'u ile repository servisinin aynı sunucuda yarışması performans ve güvenlik açısından risk oluşturabilir.
Gitea genellikle daha sade ve hafif bir self-hosted Git platformu olarak tercih edilir; GitLab ise daha geniş DevOps bileşenlerini tek platformda sunar. Doğru seçim ekip büyüklüğü, CI/CD ihtiyacı, registry ve operasyon beklentisine göre yapılmalıdır. CI runner kaynakları mümkünse ayrı değerlendirilmelidir.
Repository sunucusu düşük gecikmeli Git işlemleri ve web UI sunarken runner CPU, RAM ve disk tüketen build/test işleri çalıştırır. Runner'ı ayrı node'a almak kaynak izolasyonu sağlar.
Tek bir doğru yoktur. Operasyon karmaşıklığı ve ihtiyaç duyulan entegre özellikler seçimde belirleyicidir.
GitLab Docker executor docker.sock erişimi kullanabilir; bu nedenle runner güvenilir projelerle sınırlandırılmalı ve mümkünse repository servisinden ayrı hostta çalıştırılmalıdır.
Servis, disk ve listening port durumunu düzenli izleyin.
df -hfree -hss -lntpsystemctl --faileddocker ps --format 'table {{.Names}}\t{{.Status}}' 2>/dev/null || trueIssue, wiki, LFS, registry, CI secret, kullanıcı ve platform database'i yalnız developer clone'larında bulunmaz. Platform-native backup ve restore prosedürü gerekir.
Gitea dokümantasyonuna göre containerized job çalıştırmak için Docker daemon gerekir; host üzerinde doğrudan job çalıştırma seçeneği de vardır.
Çalışabilir ancak build workload ve güvenlik riski nedeniyle ayrı runner node genellikle daha temiz mimaridir.
Hafif self-hosted Git ve Actions ihtiyacı olan küçük/orta ekipler için güçlü bir adaydır.
Ekip sayısı, repo boyutu, günlük pipeline ve container registry ihtiyacını iletin; Gitea/GitLab + runner topolojisini belirleyelim.