Zespół deweloperski, który rośnie, prędzej czy później trafia na tę samą fakturę: GitHub Team liczy sobie za każde kolejne konto w organizacji, GitLab Premium tak samo, a agencja obsługująca kilku klientów płaci za to samo repozytorium właściwie po kilka razy, bo każdy klient chce mieć własną organizację. Gitea to open source serwer Git, który stawiasz na własnym Boxie, dostajesz przeglądarkę kodu, pull requesty, zgłoszenia i wiki dla każdego repozytorium, a liczba użytkowników i repozytoriów niczego nie kosztuje. Poniżej krok po kroku, jak postawić Gitea na Saplo.
Dlaczego Gitea zamiast GitHuba czy GitLaba
Trzymanie kodu w cudzej chmurze ma sens, dopóki zespół jest mały, ale rośnie razem z liczbą kont:
- GitHub Team i GitLab Premium liczą opłatę od każdego użytkownika organizacji miesięcznie, więc kolejny programista albo kolejny klient agencji to kolejna pozycja na fakturze, nawet jeśli korzysta z systemu raz na tydzień,
- prywatne repozytoria klientów trzymane w cudzej chmurze to dane poza Twoją kontrolą, co bywa problemem przy umowach o zachowaniu poufności,
- agencja obsługująca wielu klientów zakłada osobną organizację dla każdego, a każda organizacja to osobny licznik miejsc.
Gitea działa jako pojedynczy kontener Docker na Twoim Boxie, więc repozytoria zakładasz bez limitu, konta użytkowników dodaje administrator ręcznie, a koszt całości to koszt samego Boxa, niezależnie od tego, czy zespół liczy dwie osoby czy dwadzieścia.
Gitea a GitHub i GitLab
Wszystkie trzy dają przeglądarkę kodu, pull requesty i zgłoszenia, różnica leży w tym, gdzie leżą dane i ile to kosztuje z każdym kolejnym kontem:
- GitHub to największa społeczność i najwięcej integracji, ale prywatne organizacje płacą za każde konto, a kod klientów leży na serwerach Microsoftu,
- GitLab dokłada do tego wbudowane CI/CD, kosztem jeszcze większego zużycia zasobów, jeśli stawiasz go samodzielnie, a plan Premium z pełnymi funkcjami też liczy opłatę per użytkownik,
- Gitea jest lżejsza od obu, startuje jako pojedynczy kontener zamiast całego stosu mikroserwisów, a repozytoria i konta zakładasz bez limitu na własnym Boxie.
Jeśli zespół albo agencja nie potrzebuje wbudowanego CI/CD ani ogromnej społeczności publicznych projektów, tylko miejsca na kod klientów pod pełną kontrolą, Gitea pasuje najlepiej.
Wymagania
Żeby postawić Gitea na Saplo, potrzebujesz:
- Boxa z uruchomionym Dockerem (silnik włącza go automatycznie przy instalacji z katalogu, wymagane jest nesting w kontenerze, co Saplo ma domyślnie),
- minimum 512 MB RAM wolnego na Boxie i 5 GB miejsca na dysku, czyli wystarczy plan Box S,
- domeny albo subdomeny
*.saploapp.plw cenie każdego planu, pod którą stanie panel Gitea, - osobnej bazy danych NIE zakładasz ręcznie - silnik zakłada bazę MySQL automatycznie i podpina ją do kontenera, tak samo jak przy WordPressie czy Ghost.
Instalacja krok po kroku
- W panelu Saplo wejdź w Katalog aplikacji i wybierz Gitea (kategoria "Biznes").
- Wskaż Box z minimum 512 MB wolnego RAM, na którym ma stanąć serwer Git, oraz domenę albo subdomenę, pod którą będzie działał panel.
- Zatwierdź instalację. Silnik stawia kontener z oficjalnego obrazu
gitea/gitea, zakłada bazę MySQL, pomija webowy kreator instalacyjny i od razu zakłada konto administratora z losowym hasłem, podpięty pod nginx, który serwuje panel pod wskazaną domeną z darmowym SSL. - Po
docker compose upsilnik czeka, aż Gitea skończy migrację schematu bazy, zanim spróbuje założyć konto administratora, i sprawdza, czy kontener faktycznie działa, zanim uzna instalację za zakończoną. - Dane logowania administratora (login, hasło) trafiają do pliku
GITEA-SETUP.txtw katalogu aplikacji.
Pierwsza konfiguracja
- Wejdź pod adres domeny, na przykład
kod.saploapp.pl, i zaloguj się loginemadminoraz hasłem z plikuGITEA-SETUP.txt. - Zmień hasło od razu po pierwszym logowaniu (ikona konta w prawym górnym rogu, Ustawienia, Konto).
- Rejestracja publiczna jest wyłączona - nowych użytkowników dodajesz ręcznie w Site Administration, Users, Create User Account, tak samo jak w Ghost czy Listmonk, bo to prywatne narzędzie zespołu, nie publiczny serwis.
- Załóż pierwsze repozytorium (New Repository), sklonuj je pod adresem domeny po HTTPS i wypchnij pierwszy commit - wbudowany serwer SSH jest wyłączony, klonowanie i push działają wyłącznie po HTTPS.
- Dla repozytoriów klientów możesz utworzyć osobną organizację (Create Organization) i dodać do niej tylko tych użytkowników, którzy mają mieć dostęp.
Gitea na Saplo kontra GitHub Team i GitLab Premium
| GitHub Team | GitLab Premium | Gitea na Saplo | |
|---|---|---|---|
| Opłata za kolejnego użytkownika | tak | tak | nie |
| Limit prywatnych repozytoriów | brak | brak | brak |
| Gdzie leży kod | na serwerach GitHuba | na serwerach GitLaba | na Twoim Boxie |
| Wbudowane CI/CD | akcje GitHub osobno płatne po limicie | tak, w cenie planu | nie, potrzebny osobny runner |
| Koszt | od 4 USD za użytkownika miesięcznie | od 29 USD za użytkownika miesięcznie | koszt samego Boxa |
Najczęstsze pytania
Czy można klonować repozytoria po SSH? Nie, dostęp do Gitea na Saplo jest tylko przez HTTPS, wbudowany serwer SSH jest wyłączony, bo Saplo nie wystawia portu 22 aplikacji klienckich na zewnątrz.
Czy każdy może założyć sobie konto samodzielnie? Nie, rejestracja publiczna jest wyłączona, nowe konta zakłada administrator ręcznie w panelu Site Administration.
Czy Gitea ma wbudowane CI/CD jak GitLab? Nie w tej instalacji, Gitea skupia się na repozytoriach, pull requestach, zgłoszeniach i wiki, do automatyzacji buildów potrzebny jest osobny runner albo zewnętrzne narzędzie.
Czy da się przenieść istniejące repozytoria z GitHuba albo GitLaba? Tak, Gitea ma wbudowany importer repozytoriów z adresu URL, wystarczy podać link do repozytorium źródłowego i dane dostępowe, jeśli jest prywatne.
Jeśli zespół albo agencja płaci dziś za kolejne konta w GitHubie czy GitLabie i chce mieć kod klientów pod pełną kontrolą, napisz do nas, pomożemy dobrać Box pod Twój zespół.