- Gitea je lagana alternativa GitLabu i GitHubu koja troši vrlo malo sistemskih resursa.
- Instalacija se temelji na izvršnoj binarnoj datoteci kojom se upravlja kao uslugom putem SystemD-a.
- Korištenje obrnutog proxyja s Nginxom je ključno za omogućavanje sigurnog pristupa putem HTTPS-a.
- Omogućuje migraciju postojećih repozitorija s drugih platformi uz zadržavanje problema i oznaka.

Ako ste umorni od oslanjanja na pravila, troškove ili dostupnost divova poput GitHuba ili GitLaba, izgradnja vlastite infrastrukture je put naprijed. Posjedovanje Git servera kod kuće ili u vlastitom uredu daje vam ključeve kraljevstva: apsolutnu kontrolu nad kodom , potpuno upravljanje pristupom i mir jer nemate ograničenja trećih strana na svojim privatnim repozitorijima.
Među svim dostupnim opcijama, Gitea se ističe kao dragulj. To je alat napisan u Gou, što ga čini nevjerojatno laganim i brzim , idealnim za one koji ne žele posvetiti 16 GB RAM-a Git poslužitelju. Za razliku od GitLaba, koji je prekooceanski brod bogat značajkama, ali zahtjevan za resursima, Gitea je poput glisera: ide ravno na stvar, troši vrlo malo resursa i nudi vrlo poznato sučelje za svakoga tko je koristio GitHub.
Brza usporedba: Gitea, GitLab i Forgejo

Prije nego što se upustite u instalaciju, vrijedi znati u što se upuštate. GitLab je ključna poslovna opcija, idealna za velike timove kojima je potreban integrirani CI/CD, ali zahtijeva snažan hardver. Gitea je, s druge strane, najbolji izbor za skromne servere ili osobne projekte zbog vrlo malog memorijskog otiska. Konačno, tu je Forgejo, zajednički fork Gitee; ako ste purist slobodnog softvera i preferirate otvoreno upravljanje bez korporativnih prizvuka, ovo je alternativa za vas.
Što trebate prije nego počnete

Kako biste osigurali da sve teče glatko, provjerite imate li Linux poslužitelj (Ubuntu, Debian ili Rocky Linux) s root pristupom. Također je bitno imati Git instaliran na računalu, a iako Gitea dopušta korištenje SQLitea, za produkcijska okruženja se toplo preporučuju PostgreSQL ili MariaDB kako bi se jamčila stabilnost podataka.
Priprema tla u sustavu

Pokretanje Gitee kao root nije dobra ideja iz sigurnosnih razloga. Najbolje je stvoriti namjenskog korisnika. To možete učiniti pokretanjem naredbe adduser --system --shell /bin/bash --group --home /home/gitea giteaBitno je koristiti /bin/bash kao ljuska jer Gitea treba komunicirati s git-shellom putem SSH-a. Ako već nemate instaliran Git, jednostavan apt install git brzo će riješiti problem.
Binarna instalacija i struktura mapa

Gitea se može instalirati na nekoliko načina, ali binarna datoteka je najjednostavnija. Trebali biste pronaći najnoviju stabilnu verziju na službenoj web stranici i preuzeti je pomoću [method/method]. wget en /usr/local/bin/giteadajem to kasnije izvrši dozvole s chmod +xDa bi program ispravno funkcionirao, potrebno je stvoriti niz specifičnih direktorija: /etc/gitea za konfiguraciju i /var/lib/gitea za prilagođene podatke, zapisnike i datoteke. Ne zaboravite prilagoditi dozvole za imovinu (chown) kako bi im korisnik gitea mogao pisati.
Konfiguracija baze podataka
Ako odaberete PostgreSQL, uz bazu podataka morat ćete instalirati paket i stvoriti posebnu ulogu s jakom lozinkom. giteadb s UTF8 kodiranjem. Ako preferirate MariaDB, postupak je sličan: stvarate bazu podataka i korisnika, pazeći da mehanizam za pohranu podataka je InnoDB i da poslužitelj osluškuje port 3306.
Automatizacija sa SystemD-om
Kako biste izbjegli ručno pokretanje Gitee svaki put kada ponovno pokrenete poslužitelj, najbolje je stvoriti datoteku pogona u /etc/systemd/system/gitea.serviceOva datoteka govori sustavu da Gitea se mora pokretati kao uslugadefiniranje korisnika, grupe i binarne putanje. Nakon što je kreirano, jednostavno pokrenite systemctl enable --now gitea i poslužitelj će početi slušati, prema zadanim postavkama, na portu 3000.
Prvi kontakt s web sučeljem
Prilikom ulaska http://tu-ip:3000Zatim ćete naići na čarobnjaka za postavljanje. Ovdje se povezujete s bazom podataka (određivanjem hosta, korisničkog imena i lozinke) i definirate opće postavke web-mjesta, kao što su naziv instance i osnovni URL. Također je vrijeme za konfiguriranje SSH poslužitelja i odlučivanje želite li da se svatko može registrirati ili ako više volite... onemogući javno zapisivanje kako bi server ostao privatan.
Sigurnost i profesionalni pristup uz Nginx
Pristup Gitei putem porta 3000 je neučinkovit i nesiguran. Idealno rješenje je postavljanje obrnutog proxyja s Nginxom . To korisnicima omogućuje pristup web-mjestu putem domene (npr. git.yourdomain.com) i osigurava da je sav promet šifriran pomoću Let's Encrypt SSL certifikata . U konfiguraciji Nginxa jednostavno preusmjerite promet s porta 443 na Gitein port 3000, dodajući zaglavlja X-Forwarded-For kako biste izbjegli gubitak stvarne IP adrese klijenta.
Upravljanje korisnicima i migracija koda
Ako ste onemogućili otvoreno zapisivanje, prvog administratora možete stvoriti pomoću naredbenog retka naredbom gitea admin user createJednom unutra, možete dodati svoje javni SSH ključevi u korisničkom profilu za kloniranje repozitorija bez unosa lozinke svaki put. Ako već imate kod na GitHubu, Gitea ima integrirani alat za migraciju Automatski uvozi ne samo kod, već i probleme i oznake.
Održavanje i podešavanje
Održavanje Gitee je nevjerojatno jednostavno. Za ažuriranje jednostavno preuzmite novu binarnu datoteku, zamijenite staru i ponovno pokrenite uslugu. Za sigurnosne kopije upotrijebite naredbu gitea dump To je tvoj najbolji prijatelj, jer generira komprimirana datoteka sa svimeBaza podataka, konfiguracija i repozitoriji. Za e-poštu možete konfigurirati vanjski SMTP poslužitelj (kao što je Gmail) ili instalirati Postfix na poslužitelju za primanje obavijesti o zahtjevima za povlačenjem i upozorenjima.
Implementacija Gitee omogućuje vam robusnu, laganu i potpuno privatnu platformu za kontrolu verzija, eliminirajući ovisnost o vanjskim uslugama putem binarne instalacije, optimizirane baze podataka i obrnutog proxyja koji jamči sigurnost prometa putem HTTPS-a.