- Gitea to lekka alternatywa dla GitLab i GitHub, która zużywa bardzo mało zasobów systemowych.
- Instalacja opiera się na pliku wykonywalnym binarnym zarządzanym jako usługa przez SystemD.
- Aby umożliwić bezpieczny dostęp przez HTTPS, konieczne jest użycie odwrotnego serwera proxy z Nginx.
- Umożliwia migrację istniejących repozytoriów z innych platform przy jednoczesnym zachowaniu problemów i tagów.

Jeśli masz dość polegania na zasadach, kosztach i dostępności gigantów takich jak GitHub czy GitLab, zbudowanie własnej infrastruktury to właściwa droga. Posiadanie serwera Git w domu lub w biurze daje Ci klucze do królestwa: absolutną kontrolę nad kodem , pełne zarządzanie dostępem i spokój ducha wynikający z braku ograniczeń stron trzecich w dostępie do Twoich prywatnych repozytoriów.
Spośród wszystkich dostępnych opcji, Gitea wyróżnia się jako perełka. To narzędzie napisane w Go, dzięki czemu jest niezwykle lekkie i szybkie , idealne dla tych, którzy nie chcą przeznaczać 16 GB pamięci RAM na serwer Git. W przeciwieństwie do GitLaba, bogatego w funkcje, ale wymagającego dużych zasobów liniowca oceanicznego, Gitea przypomina motorówkę: od razu przechodzi do konkretów, zużywa niewiele zasobów i oferuje interfejs bardzo znajomy dla każdego, kto korzystał z GitHuba.
Szybkie porównanie: Gitea, GitLab i Forgejo

Zanim rozpoczniesz instalację, warto wiedzieć, na co się decydujesz. GitLab to kwintesencja rozwiązania korporacyjnego, idealnego dla dużych zespołów, które potrzebują zintegrowanego CI/CD, ale wymaga wydajnego sprzętu. Gitea z kolei to najlepszy wybór dla małych serwerów lub projektów osobistych ze względu na bardzo małe zapotrzebowanie na pamięć. Na koniec warto wspomnieć o Forgejo, społecznościowym forku Gitea; jeśli jesteś purystą wolnego oprogramowania i preferujesz otwarte zarządzanie bez korporacyjnych akcentów, to jest to alternatywa dla Ciebie.
Czego potrzebujesz zanim zaczniesz

Aby wszystko działało sprawnie, upewnij się, że posiadasz serwer Linux (Ubuntu, Debian lub Rocky Linux) z dostępem do konta root. Niezbędne jest również zainstalowanie Gita na komputerze. Chociaż Gitea umożliwia korzystanie z SQLite, w środowiskach produkcyjnych zdecydowanie zaleca się korzystanie z PostgreSQL lub MariaDB, aby zagwarantować stabilność danych.
Przygotowanie podłoża w systemie

Uruchamianie Gitea jako root nie jest dobrym pomysłem ze względów bezpieczeństwa. Najlepiej utworzyć dedykowanego użytkownika. Możesz to zrobić, uruchamiając polecenie adduser --system --shell /bin/bash --group --home /home/gitea gitea. Konieczne jest użycie /bin/bash jako powłoka ponieważ Gitea musi komunikować się z git-shell przez SSH. Jeśli nie masz jeszcze zainstalowanego Gita, wystarczy apt install git szybko rozwiąże problem.
Instalacja binarna i struktura folderów

Giteę można zainstalować na kilka sposobów, ale plik binarny jest najprostszy. Najnowszą stabilną wersję należy znaleźć na oficjalnej stronie i pobrać za pomocą [method/method]. wget en /usr/local/bin/giteadam to później wykonaj uprawnienia za pomocą chmod +xAby program działał prawidłowo konieczne jest utworzenie szeregu określonych katalogów: /etc/gitea do konfiguracji i /var/lib/gitea dla niestandardowych danych, dzienników i plików. Nie zapomnij o dostosowaniu uprawnienia do nieruchomości (chown) aby użytkownik gitea mógł do nich pisać.
Konfiguracja bazy danych
Jeśli wybierzesz PostgreSQL, oprócz bazy danych będziesz musiał zainstalować pakiet i utworzyć specjalną rolę z silnym hasłem. giteadb z kodowaniem UTF8. Jeśli wolisz MariaDB, proces jest podobny: tworzysz bazę danych i użytkownika, upewniając się, że silnikiem pamięci masowej jest InnoDB i że serwer nasłuchuje na porcie 3306.
Automatyzacja z SystemD
Aby uniknąć konieczności ręcznego uruchamiania Gitea przy każdym ponownym uruchomieniu serwera, najlepiej utworzyć plik na dysku /etc/systemd/system/gitea.serviceTen plik informuje system, że Gitea musi być uruchomiona jako usługaDefiniując użytkownika, grupę i ścieżkę binarną. Po utworzeniu wystarczy uruchomić systemctl enable --now gitea a serwer zacznie nasłuchiwać (domyślnie) na porcie 3000.
Pierwszy kontakt z interfejsem internetowym
Po wejściu http://tu-ip:3000Następnie pojawi się kreator konfiguracji. W tym miejscu łączysz się z bazą danych (określając hosta, nazwę użytkownika i hasło) i definiujesz ogólne ustawienia witryny, takich jak nazwa instancji i adres URL bazowy. Czas również skonfigurować serwer SSH i zdecydować, czy chcesz, aby każdy mógł się zarejestrować, czy wolisz... wyłącz rejestrowanie publiczne aby zachować prywatność serwera.
Bezpieczeństwo i profesjonalny dostęp z Nginx
Dostęp do Gitea przez port 3000 jest nieefektywny i niebezpieczny. Idealnym rozwiązaniem jest skonfigurowanie odwrotnego proxy z Nginx . Pozwala to użytkownikom na dostęp do witryny za pośrednictwem domeny (np. git.twojadomena.com) i zapewnia szyfrowanie całego ruchu za pomocą certyfikatów SSL Let's Encrypt . W konfiguracji Nginx wystarczy przekierować ruch z portu 443 na port 3000 Gitea, dodając nagłówki X-Forwarded-For, aby uniknąć utraty prawdziwego adresu IP klienta.
Zarządzanie użytkownikami i migracja kodu
Jeśli wyłączyłeś otwarte rejestrowanie, możesz utworzyć pierwszego administratora za pomocą wiersza poleceń za pomocą polecenia gitea admin user createPo wejściu do środka możesz dodać swoje publiczne klucze SSH w profilu użytkownika, aby klonować repozytoria bez konieczności każdorazowego podawania hasła. Jeśli masz już kod na GitHubie, Gitea oferuje zintegrowane narzędzie do migracji Automatycznie importuje nie tylko kod, ale także problemy i tagi.
Konserwacja i strojenie
Utrzymanie Gitei jest niezwykle proste. Aby dokonać aktualizacji, wystarczy pobrać nowy plik binarny, zastąpić stary i ponownie uruchomić usługę. W przypadku kopii zapasowych użyj polecenia gitea dump jest twoim najlepszym przyjacielem, ponieważ generuje skompresowany plik ze wszystkimBaza danych, konfiguracja i repozytoria. W przypadku poczty e-mail możesz skonfigurować zewnętrzny serwer SMTP (taki jak Gmail) lub zainstalować Postfix na serwerze, aby otrzymywać powiadomienia o żądaniach ściągnięcia i alertach.
Wdrożenie Gitea pozwala na korzystanie z solidnej, lekkiej i całkowicie prywatnej platformy kontroli wersji, eliminującej zależność od usług zewnętrznych dzięki instalacji opartej na plikach binarnych, zoptymalizowanej bazie danych i odwrotnemu serwerowi proxy, który gwarantuje bezpieczeństwo ruchu przez HTTPS.