Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Git to system kontroli wersji używany przez programistów, programistów i majsterkowiczów do współpracy i dystrybucji projektów open source. Korzystając z Git, możesz obsługiwać projekty dowolnej wielkości, pobierać zmiany i scalać kod oraz umożliwiać użytkownikom klonowanie repozytoriów na ich własne maszyny. Ekosystem open source działa na Git, a wiele projektów prezentowanych na MakeUseOf.com wykorzystuje zasoby z GitHub. Dzięki Gitea możesz hostować własne, w pełni funkcjonalne repozytoria Git na Raspberry Pi we własnym domu.

Dlaczego warto hostować własną usługę Git na Raspberry Pi zamiast korzystać z GitHub?

Z 55 milionami użytkowników, GitHub to największe repozytorium wolnego i otwartego oprogramowania na Ziemi, ale jej obecny właściciel, Microsoft, nie nadaje się naturalnie do roli opiekuna. Poprzedni dyrektorzy generalni firmy opisywali Linuksa i Powszechną Licencję Publiczną jako „raka”, a większość własnych produktów Microsoftu to zastrzeżone i zamknięte źródła.

instagram viewer

Własność Microsoftu spowodowała również, że GitHub badał niektóre etycznie wątpliwe technologie - zwłaszcza z GitHub Copilot, narzędziem AI, które pomaga programistom generować kod. Copilot został przeszkolony na danych z GitHub, z możliwym naruszeniem warunków licencji Creative Commons stosowanych przez programistów.

Korzystając z GitHub, programiści tworzą kolejny wąski punkt, w którym innowacje mogą zostać stłumione, osłabione i poddane niepoważnej ingerencji.

Gitea pozwala skonfigurować własny serwer Git na Raspberry Pi

Gitea jest rozwidleniem Gogs i jest zarządzanym przez społeczność rozwiązaniem do hostingu lekkiego kodu, napisanym w Go i opublikowanym na licencji MIT. Ma na celu stworzenie bardziej otwartego i szybszego modelu rozwoju niż jego poprzednik i będzie działać na maszynach o nawet skromnych zasobach, takich jak Raspberry Pi. Będziesz mógł pracować na swoich plikach dot, niestandardowe ISO Ubuntu, skrypty Bash oraz narzędzia Java i Python bez obawy, że zostaną usunięte z ustawy DMCA, zostaną użyte do szkolenia nikczemnego oprogramowania lub w inny sposób wymkną się spod kontroli.

Jak zainstalować Giteę na swoim Raspberry Pi

Gitea oferuje kilka metod instalacji, ale najłatwiejszą z nich jest Docker. Jeśli nie masz ich już uruchomionych na swoim Raspberry Pi, zainstaluj Dockera i Dockera Compose Teraz.

Pliki, które przechowujesz na swoim serwerze Gitea, potencjalnie zajmą dużo miejsca, więc sugerujemy używając pamięci zewnętrznej z Raspberry Pii używając go jako lokalizacji instalacji Gitea.

Połącz się ze swoim Pi przez SSH, następnie przejdź do lokalizacji, w której chcesz zainstalować Giteę i utwórz nowy katalog, a następnie przejdź do niego:

mkdir gitea
płyta CD gitea

Utwórz nowy plik za pomocą nano:

nanokomponowanie dokera.yml

... i wklej do niego następujący kod:

wersja: "3"

sieci:
gitea:
zewnętrzne: fałszywe

usługi:
serwer:
obraz: gitea/gitea: najnowszy
nazwa_kontenera: gitea
środowisko:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__baza danych__HOST=db: 3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__baza danych__PASSWD=gitea
uruchom ponownie: zawsze
sieci:
- gitea
wolumeny:
- ./gitea:/data
- /etc/strefa czasowa:/etc/strefa czasowa: gb
- /etc/localtime:/etc/localtime: gb
porty:
- "3000:3000"
- "222:22"
zależy od:
- db

baza danych:
obraz: mysql: 8
uruchom ponownie: zawsze
środowisko:
- MYSQL_ROOT_PASSWORD=gita
- MYSQL_USER=gita
- MYSQL_PASSWORD=gita
- MYSQL_DATABASE=gita
sieci:
- gitea
wolumeny:
- ./mysql:/var/lib/mysql

Zmień strefy czasowe na własne ustawienia regionalne i wybierz silne hasło do bazy danych, a następnie zapisz i wyjdź z nano Ctrl + O, Następnie Ctrl + X.

Wchodzić:

tworzenie dokerów -d

…aby wywołać docker-compose w trybie odłączonym. Docker-compose pobierze wiele obrazów dla Gitea i Maria DB i skonfiguruje kontenery. W zależności od szybkości połączenia może to trochę potrwać.

Po powrocie do wiersza polecenia:

tworzenie dokerów ps

…powinien pokazywać „gitea” i „gitea_db_1” jako „up”. Możesz teraz odwiedzić stronę wstępnej konfiguracji swojej witryny Gitea pod adresem twój.pi.lokalny.adres.ip: 3000.

Nic jeszcze nie zmieniaj. Jeśli planujesz uzyskać dostęp do swojej instancji Gitea przez Internet, musisz najpierw trochę się przygotować.

Uzyskaj dostęp do swojej instancji Gitea przez Internet

Chcesz mieć możliwość wpisania standardowego adresu URL, aby uzyskać dostęp do swojej instancji Gitea, więc potrzebujesz Apache do obsługi proxy. Zainstaluj Apache za pomocą:

sudo apt zainstalować Apache2

Teraz uruchom i włącz Apache za pomocą następujących poleceń:

sudo systemctl początek Apache2
sudo systemctl włączać Apache2

Włącz moduły proxy Apache za pomocą:

sudo a2enmod proxy
sudo a2enmod proxy_http

Wybierz nazwę domeny lub nazwę subdomeny od renomowanego rejestratora. Następnie na stronie ustawień swojego rejestratora znajdź opcje „Zaawansowany DNS” i dodaj nowy A nagrywać. Ustaw Gospodarz pole do "@" a pole wartości na Twój statyczny adres IP. Ustaw wartość TTL (Time to Lease) na jak najniższą wartość, a następnie zapisz.

Otwórz stronę administratora routera i znajdź sekcję zatytułowaną albo Przekierowanie portów, Mapowanie portów, Lub Zarządzanie portem.

Utwórz nowy wpis dla żądań HTTP. Ustaw port lokalny i publiczny na 80, a lokalny adres IP na adres IP twojego Raspberry Pi.

Drugi otwarty port jest wymagany dla żądań HTTPS. Ustaw port lokalny i publiczny na 443i ponownie lokalny adres IP na adres IP twojego Pi.

Na koniec potrzebujesz otwartego portu dla żądań SSH do serwera Git. Ustaw port lokalny i publiczny na 222, a lokalny adres IP na adres IP twojego Pi.

Będziesz używać Certbot do uzyskiwania certyfikatów bezpieczeństwa i kluczy. Dodaj repozytorium Certbot, zaktualizuj, a następnie zainstaluj Certbot:

sudo add-apt-repository ppa: certbot/certbot
sudo apt aktualizacja
sudo apt-Dostawać zainstaluj python3-certbot-apache

Zmień katalogi i utwórz nowy plik za pomocą nano:

płyta CD /etc/apache2/sites-available/
nanogitea.konf

W nowym pliku wklej następujące elementy, pamiętając o skopiowaniu własnej nazwy domeny:

<Wirtualny Host *:80>nazwa-serwera nazwa-domeny.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost Wł.</VirtualHost>

Zapisz i wyjdź z nano za pomocą klawisz kontrolny + O, Następnie klawisz kontrolny + Xi włącz swój nowy plik conf za pomocą:

Sudoa2ensitegitea.konf

Zrestartuj Apache'a:

Sudo ponowne uruchomienie usługi Apache2

Uruchom Certbota z:

sudo certbot

…i wybierz nazwę swojej domeny z listy. Certbot pobierze i zainstaluje certyfikaty i klucze. Po powrocie do monitu uruchom ponownie Apache:

Sudo ponowne uruchomienie usługi Apache2

Konfiguracja instancji Gitea

Możesz teraz odwiedzić swoją instancję Gitea w przeglądarce z adresem https://your-domain-name.tld. W pierwszej sekcji będziesz mógł ustawić typ bazy danych, hasło i inne zmienne. Będą to wartości określone w pliku tworzenia dokera i powinny być już wypełnione, więc nie trzeba ich zmieniać.

W Ustawienia główne, Ustaw Nazwa strony do odpowiedniego, Domena serwera powinna być Twoją nazwą domeny i Port serwera SSH musi być ustawiony na 222. Podstawowym adresem URL powinna być nazwa Twojej domeny, w tym „HTTPS://”.

Kiedy skończysz, uderz w duży niebieski Zainstaluj Giteę przycisk. Zostaniesz powitany przez dużą zieloną filiżankę herbaty oraz jakąkolwiek nazwę i ślimak nadałeś instancji. Aby utworzyć pierwszego użytkownika, kliknij zarejestruj się w prawym górnym rogu strony, a następnie wprowadź swoje dane. Gratulacje!

Aby uniemożliwić innym rejestrowanie i hostowanie własnych repozytoriów na Twoim serwerze Git, musisz edytować plik aplikacja.ini plik. Jeśli początkowo utworzyłeś swój gitea katalog w / (główny) katalog, wpisz:

nano /gitea/gitea/gitea/conf/app.ini

Przewiń w dół do sekcji usług i ustaw DISABLE_REGISTRATION do prawdy.

Zapisz i wyjdź z nano za pomocą klawisz kontrolny + O, Następnie klawisz kontrolny + X, następnie zrestartuj kontenery:

docker-compose downdocker-compose up -d

Korzystanie z Gitei

Jeśli kiedykolwiek korzystałeś z GitHub, w Gitea od razu poczujesz się jak w domu. Po zalogowaniu zobaczysz, że nie ma dostępnych repozytoriów. Utwórz go, klikając przycisk + znak w kierunku prawej strony i nadaj mu sensowną nazwę.

Możesz ustawić repozytorium jako prywatne, zaznaczając to pole, lub pozostawić je otwarte, aby świat mógł je zobaczyć. Zaznacz pole, aby zainicjować za pomocą pliku readme, a następnie kliknij Utwórz repozytorium aby utworzyć swoje pierwsze repozytorium! Możesz wprowadzać i zatwierdzać zmiany, przesyłać pliki i edytować tak, jakby to był GitHub.

Kliknij SSH skopiować adres i nie będziesz mógł sklonować repozytoriów na komputer lokalny, otrzymując zamiast tego komunikat o błędzie: „Upewnij się, że masz odpowiednie prawa dostępu i repozytorium istnieje”. Najpierw musisz dodać klucz SSH swojej maszyny lokalnej do Gitea. Aby to zrobić, skopiuj dane wyjściowe z:

kot ~/.ssh/id_rsa.pub

W interfejsie internetowym Gitea kliknij swoje zdjęcie profilowe, a następnie wybierz ustawienia> Klucze SSH/GPG. Kliknij Dodaj kluczi wklej właśnie skopiowany klucz.

Możesz teraz wchodzić w interakcje z własnym repozytorium Git na własnym serwerze Git na własnym Raspberry Pi!

Wykorzystaj swoją instancję Gitea do tworzenia niesamowitych projektów oprogramowania

Git to niesamowite narzędzie do współpracy przy niesamowitych projektach, ale nawet bez zespołu jest fantastyczne do organizowania własnego przepływu pracy i tworzenia wspaniałego oprogramowania lub konfiguracji. Użyj go, aby śledzić swoje pliki podczas nauki nowego języka programowania lub dostosowywania systemu stacjonarnego tak, aby był jak najlepszy.