Zainstaluj Gitea na Raspberry Pi, aby stworzyć własne repozytorium kodu

Zainstaluj Gitea na Raspberry Pi, aby stworzyć własne repozytorium kodu

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, wprowadzać 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?

Strona repozytorium GitHub pokazująca listę plików z kodu źródłowego Reacta

Z 55 milionami użytkowników GitHub jest największym repozytorium darmowego i otwartego oprogramowania na Ziemi, ale jego obecny właściciel, Microsoft, nie pasuje 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.

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, niestandardowych obrazach ISO Ubuntu, skryptach Bash oraz narzędziach Java i Python bez obawy, że zostaną one usunięte przez ustawę DMCA, zostaną użyte do szkolenia nikczemnego oprogramowania lub w inny sposób wymkną się spod Twojej 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 teraz Docker i Docker Compose.

Pliki, które przechowujesz na serwerze Gitea, potencjalnie zajmą dużo miejsca, dlatego sugerujemy użycie pamięci zewnętrznej z Raspberry Pi i użycie jej jako lokalizacji instalacji Gitea.

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

mkdir gitea
cd gitea

Utwórz nowy plik za pomocą nano:

nano docker-compose.yml

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

version: "3"

networks:
gitea:
external: false

services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
-. /gitea:/data
- /etc/timezone:/etc/timezone:gb
- /etc/localtime:/etc/localtime:gb
ports:
- "3000:3000"
- "222:22"
depends_on:
- db

db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
-. /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 zamknij nano za pomocą Ctrl + O , a następnie Ctrl + X.

Wchodzić:

docker-compose up -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ć.

docker-compose ps pokazujący, że gitea i gitea_db_1 działają

Po powrocie do wiersza polecenia:

docker-compose ps

…powinien pokazać „gitea” i „gitea_db_1” jako „up”. Możesz teraz odwiedzić stronę wstępnej konfiguracji swojej witryny Gitea pod adresem your.pi.local.ip.address: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 install apache2

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

sudo systemctl start apache2
sudo systemctl enable 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 „Zaawansowane DNS” i dodaj nowy rekord A. Ustaw pole Host na „ @” , a pole wartości na swó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ą Przekierowanie portów , Mapowanie portów lub Zarządzanie portami.

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 zarówno lokalny, jak i publiczny port na 443 i 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 update
sudo apt-get install python3-certbot-apache

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

cd /etc/apache2/sites-available/
nano gitea.conf

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

<VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

Zapisz i wyjdź z nano za pomocą Ctrl + O , następnie Ctrl + X i włącz nowy plik conf za pomocą:

sudo a2ensite gitea.conf

Zrestartuj Apache’a:

sudo service apache2 restart

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 service apache2 restart

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 ustawieniach ogólnych ustaw tytuł witryny na odpowiedni, Domena serwera powinna być nazwą Twojej domeny, a Port serwera SSH musi być ustawiony na 222 . Podstawowym adresem URL powinna być nazwa Twojej domeny, w tym „HTTPS://”.

Kiedy skończysz, naciśnij duży niebieski przycisk Install Gitea . 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 app.ini . Jeśli początkowo utworzyłeś swój katalog gitea w katalogu / (root), wpisz:

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

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

rejestracja gitea diable ustawiona na true

Zapisz i wyjdź z nano za pomocą Ctrl + O , następnie Ctrl + X, a następnie uruchom ponownie 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 znak + po prawej stronie strony i nadaj mu rozsądną nazwę.

tworzenie wstępnego repozytorium gitea

Możesz ustawić repozytorium jako prywatne, zaznaczając to pole, lub pozostawić je otwarte, aby świat mógł je zobaczyć. Zaznacz pole, aby zainicjować plik 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, aby skopiować adres, a nie będziesz mógł sklonować repozytoriów na komputer lokalny, otrzymując błąd: „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:

cat ~/.ssh/id_rsa.pub

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

dodaj klucz ssh do gitea

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 jest niesamowitym narzędziem do współpracy przy niesamowitych projektach, ale nawet bez zespołu jest fantastyczny 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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *