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

Ako ste umorni od oslanjanja na pravila, troškove ili dostupnost giganata poput GitHub-a ili GitLaba, izgradnja vlastite infrastrukture je pravi put naprijed. Posjedovanje Git servera kod kuće ili u vlastitoj kancelariji daje vam ključeve kraljevstva: apsolutnu kontrolu nad kodom , potpuno upravljanje pristupom i mir jer nemate ograničenja trećih strana na vašim privatnim repozitorijima.
Među svim dostupnim opcijama, Gitea se ističe kao dragulj. To je alat napisan u Go-u, što ga čini nevjerovatno laganim i brzim , idealnim za one koji ne žele posvetiti 16 GB RAM-a Git serveru. Za razliku od GitLaba, koji je prekookeanski brod bogat funkcijama, ali zahtjevan za resursima, Gitea je poput glisera: ide direktno na stvar, troši vrlo malo resursa i nudi vrlo poznat interfejs za svakoga ko je koristio GitHub.
Brza usporedba: Gitea, GitLab i Forgejo

Prije nego što se upustite u instalaciju, vrijedi znati u šta se upuštate. GitLab je suštinska opcija za preduzeća, idealna za velike timove kojima je potreban integrisani CI/CD, ali zahtijeva moćan hardver. Gitea je, s druge strane, najbolji izbor za skromne servere ili lične projekte zbog vrlo malog memorijskog otiska. Konačno, tu je Forgejo, community fork Gitea-e; ako ste purista slobodnog softvera i preferirate otvoreno upravljanje bez korporativnih prizvuka, ovo je alternativa za vas.
Šta vam treba pre nego što počnete

Da biste osigurali da sve teče glatko, provjerite da li imate Linux server (Ubuntu, Debian ili Rocky Linux) sa root pristupom. Također je neophodno imati Git instaliran na računaru, i iako Gitea dozvoljava korištenje SQLite-a, za produkcijska okruženja se toplo preporučuju PostgreSQL ili MariaDB kako bi se garantovala stabilnost podataka.
Priprema tla u sistemu

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

Gitea se može instalirati na nekoliko načina, ali binarna verzija je najjednostavnija. Trebali biste pronaći najnoviju stabilnu verziju na njenoj službenoj web stranici i preuzeti je koristeći [method/method]. wget en /usr/local/bin/giteadajem to kasnije izvrši dozvole sa chmod +xDa bi program ispravno funkcionirao, potrebno je kreirati 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, morat ćete instalirati paket i kreirati određenu ulogu sa jakom lozinkom, pored baze podataka. giteadb sa UTF8 kodiranjem. Ako preferirate MariaDB, proces je sličan: kreirate bazu podataka i korisnika, pazeći da mehanizam za pohranu podataka je InnoDB i da server osluškuje port 3306.
Automatizacija sa SystemD-om
Da biste izbjegli ručno pokretanje Gitee svaki put kada ponovo pokrenete server, najbolje je kreirati datoteku na disku u /etc/systemd/system/gitea.serviceOva datoteka obavještava sistem da Gitea se mora pokretati kao uslugadefiniranje korisnika, grupe i binarne putanje. Nakon kreiranja, jednostavno pokrenite systemctl enable --now gitea i server će početi slušati, prema zadanim postavkama, na portu 3000.
Prvi kontakt sa web interfejsom
Prilikom ulaska http://tu-ip:3000Zatim ćete naići na čarobnjaka za podešavanje. Ovdje se povezujete s bazom podataka (navodeći host, korisničko ime i lozinku) i definirate opće postavke web-mjesta, kao što su naziv instance i osnovni URL. Također je vrijeme da konfigurirate SSH server i odlučite želite li da se bilo ko može registrirati ili ako više volite... onemogući javno evidentiranje da bi server ostao privatan.
Sigurnost i profesionalni pristup uz Nginx
Pristup Gitei putem porta 3000 je neefikasan i nesiguran. Idealno rješenje je postavljanje obrnutog proxyja s Nginxom . Ovo omogućava korisnicima pristup stranici putem domene (npr. git.yourdomain.com) i osigurava da je sav promet šifriran pomoću Let's Encrypt SSL certifikata . U Nginx konfiguraciji, jednostavno preusmjerite promet s porta 443 na Gitea port 3000, dodajući X-Forwarded-For zaglavlja kako biste izbjegli gubitak stvarne IP adrese klijenta.
Upravljanje korisnicima i migracija koda
Ako ste onemogućili otvoreno evidentiranje, možete kreirati prvog administratora pomoću komandne linije sa naredbom gitea admin user createKada uđete 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 Gitea-e je nevjerovatno jednostavno. Za ažuriranje, jednostavno preuzmite novu binarnu datoteku, zamijenite staru i ponovo pokrenite servis. Za sigurnosne kopije koristite naredbu gitea dump je vaš najbolji prijatelj, jer generira komprimovana datoteka sa svimeBaza podataka, konfiguracija i repozitoriji. Za e-poštu možete konfigurirati eksterni SMTP server (kao što je Gmail) ili instalirati Postfix na serveru da biste primali obavještenja o zahtjevima za povlačenjem i upozorenjima.
Implementacija Gitea-e vam omogućava robusnu, laganu i potpuno privatnu platformu za kontrolu verzija, eliminirajući ovisnost o vanjskim servisima putem instalacije zasnovane na binarnim datotekama, optimizirane baze podataka i obrnutog proxyja koji garantira sigurnost prometa putem HTTPS-a.