Yazılım geliştiren her şirket bir noktada kaynak kodunu nerede tutacağına karar verir. GitHub ve GitLab'ın bulut sürümleri kolaydır, ancak kodun şirket sunucusunda kalmasını isteyenler ya da kullanıcı başı abonelikten kaçınmak isteyenler için hafif bir seçenek Gitea'dır. Depolar, pull request'ler, iş takibi, wiki, paket deposu ve GitHub Actions'a benzeyen CI/CD tek bir uygulamada gelir. Bu rehberde Gitea'nın gereksinimlerini, sürüm politikasını, yedekleme ve yükseltme kurallarını resmi belgelere dayanarak (Ekim 2026, Gitea 28.0) anlatıyoruz.
Gitea ne sunar?
- Kod ve işbirliği: Git depoları, pull request ve kod incelemesi, iş takibi (issue), proje panoları, wiki, Git LFS ve depo yansılama (mirror).
- Gitea Actions: belgelere göre GitHub Actions'a "büyük ölçüde uyumlu" bir CI/CD sistemi. İşleri ayrı kurulan Gitea Runner çalıştırır. Bazı farklar belgelenmiştir; örneğin iş tanımındaki
environmentalanı dikkate alınmaz. - Paket deposu: npm, PyPI, Maven, NuGet, Composer, Cargo, Go, Helm, Debian, RPM ve konteyner imajları (OCI) dahil 20'den fazla biçim.
- Kimlik: birden çok LDAP / Active Directory sunucusu, OpenID Connect ve OAuth 2.0 ile giriş. Gitea, diğer uygulamalar için OAuth 2.0 sağlayıcısı olarak da çalışabilir. İki aşamalı doğrulama TOTP ve donanım anahtarı (WebAuthn) ile yapılır. Şirket genelinde tek şifreyle giriş için Keycloak rehberimize bakabilirsiniz.
Açık kaynak sürümde olmayanlar: resmi karşılaştırma tablosunda SAML 2.0 desteği açık kaynak Gitea'da yok olarak işaretlidir. SAML, zorunlu iki aşamalı doğrulama, IP izin listesi ve bağımlılık taraması gibi özellikler ücretli Gitea Enterprise'da sunulur. Kimliği SAML ile yönetiyorsanız ya Enterprise'ı ya da Keycloak üzerinden OpenID Connect bağlantısını planlayın.
Sunucu, veritabanı ve kurulum
| Konu | Resmi bilgi |
|---|---|
| Donanım | Küçük ekip ve projeler için 2 çekirdek, 1 GB RAM genellikle yeterli |
| Veritabanı | PostgreSQL 12+, MySQL 8.0+, MariaDB 10.4+, MSSQL 2012 SP4+ veya gömülü SQLite |
| Git | Gitea 28 ile en az Git 2.25 (daha eskiyle başlamaz) |
| Kurulum yolları | Tek ikili dosya, Docker (rootless dahil), Kubernetes için Helm chart, Windows hizmeti |
Veritabanı seçimini baştan doğru yapın. Belgeler iki konuda açıktır: SQLite ölçeklenmez, büyümeyi bekliyorsanız başka bir veritabanı seçilmelidir; bir veritabanı türünden diğerine geçiş ise "iyi test edilmiş bir süreç değildir". Birkaç kişilik bir ekip bile büyüme ihtimali varsa PostgreSQL ile başlamalıdır.
Gitea 28 ile gelen iki varsayılan değişiklik de kurulumda önemlidir. Dışarıdan kendi kendine kayıt artık kapalı gelir. Tamamlanan Actions çalıştırmaları ise loglar ve çıktılarla birlikte varsayılan olarak 400 gün sonra silinir. Denetim için daha uzun saklamanız gerekiyorsa bu süreyi ayarlayın.
Sürüm politikası: yalnız son sürüm korunur
Gitea 28.0 ile sürüm numaralarındaki "1." öneki kaldırıldı, yani 1.27'den sonraki sürüm 28.0'dır. Yayın yönetimi belgesine göre hedef, yaklaşık üç-dört ayda bir ana sürüm çıkarmaktır. Güvenlik politikası nettir: düzeltmeler yalnız en son ana sürüme ve geliştirme dalına yayımlanır. Eski bir sürümde kalan kurulum, yeni bulunan açıklara karşı korumasız kalır. Bu yüzden Gitea'yı kurup unutmak, kod gibi değerli bir varlık için uygun değildir.
Yedekleme ve geri yükleme
gitea dump komutu tek bir ZIP dosyası üretir. İçinde ayar dosyası (app.ini), özelleştirmeler, ekler, LFS nesneleri, depolar ve veritabanı dökümü bulunur. Belgelerdeki önemli notlar:
- Tutarlı bir yedek için Gitea yedekleme sırasında durdurulmalıdır.
- Veritabanı dökümünde bilinen sorunlar olduğu için belgeler, veritabanının pg_dump ya da mysqldump gibi kendi araçlarıyla ayrıca yedeklenmesini önerir.
- Hazır bir geri yükleme komutu yoktur. Geri yükleme elle yapılır: dosyalar doğru yerlere taşınır ve veritabanı dökümü geri yüklenir. Bu nedenle geri yüklemeyi bir deneme sunucusunda önceden denemek gerekir.
Yedeklerin ayrı bir yerde tutulması ve düzenli denenmesi için yedekleme ve izleme rehberimizdeki 3-2-1-1-0 kuralı burada da geçerlidir.
Yükseltme ve GitHub'dan geçiş
Yükseltme belgelerine göre Gitea'da ara sürümleri atlamak mümkündür. Ancak her yükseltmeden önce değişiklik günlüğü okunmalı ve geriye uyumsuz değişiklikler kontrol edilmelidir. Yükseltilmiş bir veritabanıyla eski Gitea çalıştırılamaz; bu yüzden her yükseltmeden önce yedek alınmalıdır. Kullanımdan kaldırma uyarıları giderilmezse Gitea bir sonraki sürümde başlamayı reddedebilir.
GitHub'dan geçiş için yerleşik bir taşıma formu vardır. Depoyla birlikte iş kayıtları, etiketler, kilometre taşları, pull request'ler, sürümler ve wiki taşınabilir. Gitea 28'in kaynak kodunda GitLab ve Gitea için de taşıyıcılar bulunur. Bitbucket için özel bir taşıyıcı yoktur; yalnız depo düz Git olarak alınabilir.
Gitea kimler için uygun değil?
- Kimliği yalnız SAML ile yönetenler: açık kaynak sürümde SAML yok. Enterprise ya da OpenID Connect üzerinden bir ara katman gerekir.
- Güncellemeye zaman ayıramayanlar: güvenlik düzeltmeleri yalnız son ana sürüme gelir ve yılda birkaç ana sürüm çıkar.
- GitHub Actions iş akışlarını birebir taşımak isteyenler: uyumluluk yüksektir ama tam değildir. Kritik iş akışlarını geçişten önce test edin.
Not: Forgejo'nun kendi açıklamasına göre, Ekim 2022'de Gitea projesinin yönetimi kâr amaçlı bir şirkete geçince, kâr amacı gütmeyen Codeberg e.V. çatısı altında Forgejo adlı bir çatal başlatıldı. İki projenin yol haritası artık ayrışmaktadır; seçim yaparken her ikisinin güncel belgelerine bakmak faydalıdır.
e-veri.com ile Gitea
Gitea'yı Türkiye'deki sunucularımızda yönetilen hosting olarak ya da sizin sunucunuzda kuruyoruz. Kapsamda şunlar var:
- PostgreSQL ile kurulum, HTTPS ve SSH erişimi
- LDAP veya OpenID Connect ile giriş
- Gitea Actions için ayrı bir runner sunucusu
- GitHub'dan depo ve iş kaydı taşıma
- Durdurarak alınan düzenli yedek ve geri yükleme denemesi
- Her ana sürümde değişiklik günlüğüne göre yükseltme
Kapsam ve teklif için kurumsal hizmetler sayfamıza göz atın.
Sık sorulan sorular
Gitea ücretsiz mi?
Evet. Gitea MIT lisanslıdır; kendi sunucunuzda kullanıcı ve depo sınırı olmadan ücretsiz kullanılır. SAML, zorunlu iki aşamalı doğrulama ve öncelikli destek gibi ek özellikler ücretli Gitea Enterprise'dadır.
Gitea için ne kadar RAM gerekir?
Resmi belgelere göre küçük ekipler ve projeler için 2 CPU çekirdeği ve 1 GB RAM genellikle yeterlidir. Gitea Actions işleri ayrı runner'larda çalıştığı için CI/CD yükü ayrıca planlanmalıdır.
Gitea hangi veritabanını kullanır?
PostgreSQL 12+, MySQL 8.0+, MariaDB 10.4+, MSSQL 2012 SP4+ veya gömülü SQLite. Belgelere göre SQLite ölçeklenmez ve veritabanı türü değiştirmek iyi test edilmiş bir süreç değildir; bu yüzden baştan PostgreSQL ya da MySQL seçmek önerilir.
Gitea Actions GitHub Actions ile uyumlu mu?
Belgelere göre büyük ölçüde uyumludur ve işleri ayrı kurulan Gitea Runner çalıştırır. Bazı farklar vardır; örneğin iş tanımındaki environment alanı dikkate alınmaz. Kritik iş akışları geçişten önce test edilmelidir.
Gitea yedeği nasıl alınır ve geri yüklenir?
gitea dump komutu ayarları, depoları, ekleri ve veritabanı dökümünü tek bir ZIP dosyasında toplar. Tutarlılık için Gitea yedekleme sırasında durdurulmalıdır. Hazır bir geri yükleme komutu yoktur; dosyalar yerine taşınır ve veritabanı dökümü elle geri yüklenir.
GitHub'dan Gitea'ya geçiş mümkün mü?
Evet. Gitea'nın yerleşik taşıma formu depoyla birlikte iş kayıtlarını, etiketleri, kilometre taşlarını, pull request'leri, sürümleri ve wiki'yi alabilir.