Gitea w sieci lokalnej - jak stworzyć własny serwer Git krok po kroku

| | | Czas czytania: 4 min
Gitea - repozytorium git na własnym serwerze
Gitea - repozytorium git na własnym serwerze

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.

INFO:

Na potrzeby tego poradnika będę posługiwał się adresem ip mojego serwera. Pamiętaj aby wpisać IP swojego serwera.

Bash

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.

Bash
nano ~/.bashrc

Na końcu wklej:

Bash
# 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:

zrzut ekranu

Aktualizacja pakietów, oraz instalacja niezbędnych paczek:

Bash
apt update&&apt upgrade
Bash
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:

Bash
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |  gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Repozytorium:

Bash
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:

Bash
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Możemy sprawdzić wersję:

Bash
docker compose version

Powinno być coś takiego:

zrzut ekranu

Uruchamiamy automatyczne startowanie Dockera przy starcie systemu + uruchamiamy go teraz:

Bash
systemctl enable --now docker
zrzut ekranu

Dodajemy naszego użytkownika do grupy dockera:

Bash
usermod -aG docker $USER

W tym momencie mamy przygotowany serwer pod instalację systemu Gitea. Teraz należy utworzyć katalogi:

Bash
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:

Bash
nano docker-compose.yml

Wklejamy po zmianach:

Bash
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:

Bash
docker compose up -d

Jeśli wygląda tak jak poniżej, to oznacza, że wszystko zostało poprawnie zrobione.

zrzut ekranu

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.

zrzut ekranu

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.

Chcesz skomentować artykuł? Napisz na naszym forum