Coraz więcej osób pracujących z kodem źródłowym szuka rozwiązania, które pozwoli zachować pełną kontrolę nad repozytoriami, dostępem użytkowników oraz bezpieczeństwem danych. Własny serwer Git w sieci lokalnej to świetna alternatywa dla usług chmurowych - szczególnie w środowiskach domowych, firmowych lub edukacyjnych.
Gitea to lekkie, szybkie i proste w konfiguracji narzędzie, które umożliwia uruchomienie prywatnego odpowiednika GitHuba praktycznie na dowolnym sprzęcie - od starego laptopa po serwer VPS. W tym poradniku pokażę, jak krok po kroku zainstalować Giteę w sieci lokalnej.
Co będzie potrzebne?
- Serwer, może to być wirtualna maszyna z mostkowaną kartą sieciową (bridged), albo stary komputer. W moim przypadku będzie to kontener na Proxmoxie z Ubuntu 24.04 Server.
- Komputer z którego będzie łączyć się zdalnie do serwera.
- Na komputerze zainstalowany GIT i VS Code (lub inny edytor kodu).
Czas barć się za instalację.
Gdy mamy przygotowany serwer i wszystkie niezbędne narzędzia, czas zacząć instalację.
Połączenie do serwera
Pierwszą rzeczą do zrobienia jest podłączenie się do serwera, na którym będziemy instalować system Gitea. Należy to zrobić za pomocą SSH, kontem użytkownika root.
Na potrzeby tego poradnika będę posługiwał się adresem ip mojego serwera. Pamiętaj aby wpisać IP swojego serwera.
Kolor użytwkonika i nazwy hosta (opcjonalnie)
Jeżeli używasz na co dzień Linuksa, i nie chcesz się pomylić i lokalnie wykonać jakiegoś polecenia, warto zmienić kolor nazwy użytkownika i hosta podczas połączenia SSH na serwerze.
nano ~/.bashrc
Na końcu wklej:
# Kolor prompta zależny od SSH
if [ -n "$SSH_CONNECTION" ]; then
# SSH – żółty user@host
PS1='\[\e[1;33m\]\u@\h\[\e[0m\]:\w$ '
else
# Lokalnie – zielony user@host
PS1='\[\e[1;32m\]\u@\h\[\e[0m\]:\w$ '
fi
Zapisz Ctrl +O, wyjdź z nano C +X.
Efekt:
Aktualizacja pakietów, oraz instalacja niezbędnych paczek:
apt update&&apt upgrade
apt install -y ca-certificates curl gnupg lsb-release
Instalacja Dockera
Teraz należy zainstalować Dockera, najlepiej bezpośrednio od wydawcy. Aby to zrobić trzeba dodać klucz i repozytorium.
Klucz:
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Repozytorium:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| tee /etc/apt/sources.list.d/docker.list > /dev/null
Teraz odświeżenie pakietów i instalacja Dockera i potrzebnych składników:
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Możemy sprawdzić wersję:
docker compose version
Powinno być coś takiego:
Uruchamiamy automatyczne startowanie Dockera przy starcie systemu + uruchamiamy go teraz:
systemctl enable --now docker
Dodajemy naszego użytkownika do grupy dockera:
usermod -aG docker $USER
W tym momencie mamy przygotowany serwer pod instalację systemu Gitea. Teraz należy utworzyć katalogi:
mkdir -p ~/gitea/{data,db,config}
cd ~/gitea
Tworzenie pliku konfiguracyjnego
Najważniejsza rzecz którą musisz tutaj ustawić po swojemu to IP. Opcjonalnie porty i baza.
- 3000 to port http, czyli będziemy wchodzić na webowy interfejs przez niego.
- 2222 - port SSH dla Gitei, jeżeli nie masz potrzeby zmiany tych portów, zostaw je tak jak w tym pliku.
- Możesz zmienić też bazę danych.
Tworzymy plik:
nano docker-compose.yml
Wklejamy po zmianach:
version: "3"
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3 # Możesz zmienić na mysql/postgres, jeśli chcesz
- ROOT_URL=http://192.168.0.111:3000
restart: always
ports:
- "3000:3000" # interfejs web
- "2222:22" # SSH dla repozytoriów
volumes:
- ./data:/data
Zapisujemy i wychodzimy Ctrl+O, Ctrl+X
Ostatnie polecenie w terminalu, które stworzy i uruchomi wszystko co w pliku yml:
docker compose up -d
Jeśli wygląda tak jak poniżej, to oznacza, że wszystko zostało poprawnie zrobione.
Kończenie konfiguracji w przeglądarce
Ostatnim krokiem jest konfiguracja w przeglądarce. Wpisujemy w pasek adresu ip:port, w moim przypadku http://192.168.0.111:3000.
Zmień/ustaw tylko zaznaczone na niebiesko pola, reszty nie musisz.
Podsumowanie
Instalacja tego systemu jest prosta, polega w zasadzie na wklejeniu kilku poleceń do terminala. Dzięki temu mamy własny serwer z repozytoriami GIT i możemy stawiać rzeczywiście prywatne repozytoria, dostępne jedynie z sieci lokalnej. To tylko jedno z zastosowań tego narzędzia. Równie dobrze możemy zrobić taki serwer na VPS-ie, aby był dostępny z Internetu, kwestia potrzeb.
Tworzenie repozytorium, synchronizację, łączenie za pomocą HTTP i SSH opiszę w osobnym artykule.