Praktični vodič

Postavljanje self-hosted Gitea instance na VPS-u ispod 5 EUR/mj.

Potpuna kontrola nad repozitorijima — bez ovisnosti o vanjskim platformama.

Terminal s Git naredbama i VPS dashboard s azure-plavim LED sjajem

Gitea je Git servis napisan u Go-u — jedna binarna datoteka, minimalni RAM footprint (tipično ispod 100 MB u mirovanju), i potpuna podrška za pull requestove, webhooks, CI integracije i korisničke dozvole. Za razliku od GitLaba koji zahtijeva višestrukih gigabajta RAM-a čak i u minimalnoj konfiguraciji, Gitea se bez problema pokreće na VPS-u s 1 vCPU i 1 GB RAM-a — što u 2024. godini lako pronalazite za 4–5 EUR mjesečno kod providera poput Hetzner Clouda ili Netcupa. Instalacija počinje preuzimanjem binarne datoteke za ciljanu arhitekturu s GitHuba, postavljanjem systemd servisne jedinice i konfiguracijom app.ini datoteke. Kritičan korak koji mnogi vodiči preskaču jest postavljanje ispravnih dozvola datotečnog sustava za korisnika pod kojim Gitea radi — bez toga SSH ključevi neće funkcionirati. Preporučamo kreiranje namjenskog linux korisnika „git” koji nema login shell, što ograničava napadnu površinu u slučaju kompromitiranja procesa.

SSL certifikat najjednostavnije je dobiti putem Certbota i Let's Encrypt — proces traje manje od pet minuta ako imate ispravan DNS A-zapis koji ukazuje na IP adresu vašeg VPS-a. Gitea se tada konfigurira da sluša na localhost:3000, a Nginx djeluje kao reverse proxy koji prima zahtjeve na portovima 80 i 443 i prosljeđuje ih Gitei. Nginx konfiguracija mora uključivati header proxy_set_header X-Real-IP kako bi Gitea ispravno logirala originalne IP adrese klijenata. Za automatizaciju backupa, najrobustniji pristup je dnevni cron job koji poziva Gitea-in admin CLI za generiranje punog backupa (uključujući bazu podataka, repozitorije i konfiguraciju), komprimira ga i šalje na S3-kompatibilni storage poput Backblaze B2 — čiji je besplatni tier (10 GB) dovoljan za manje timove. Cjelokupni postav, od praznog VPS-a do funkcionalne Gitea instance s TLS-om i automatskim backupima, može se završiti za manje od dva sata — čak i bez prethodnog DevOps iskustva.