Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Git este un sistem de control al versiunilor folosit de dezvoltatorii de software, programatori și reparatori pentru a colabora și a distribui proiecte open source. Folosind Git, puteți gestiona proiecte de orice dimensiune, puteți introduce modificări și îmbinări de cod și puteți permite utilizatorilor să vă cloneze depozitele pe propriile lor mașini. Ecosistemul open source rulează pe Git, iar multe dintre proiectele prezentate pe MakeUseOf.com implică utilizarea resurselor din GitHub. Cu Gitea, vă puteți găzdui propriile depozite Git complet funcționale pe un Raspberry Pi în propria casă.

De ce să vă găzduiți propriul serviciu Git pe Raspberry Pi în loc să folosiți GitHub?

Cu 55 de milioane de utilizatori, GitHub este cel mai mare depozit de software gratuit și open source pe Pământ, dar actualul său proprietar, Microsoft, nu este potrivit pentru rolul de custode. Directorii executivi anteriori ai companiei au descris Linux și Licența Publică Generală drept „un cancer”, iar majoritatea produselor Microsoft sunt proprietare și sursă închisă.

instagram viewer

Proprietatea Microsoft a văzut, de asemenea, GitHub să exploreze unele tehnologii dubioase din punct de vedere etic, în special cu GitHub Copilot, un instrument AI care ajută programatorii să genereze cod. Copilot a fost instruit pe datele din GitHub, cu posibila încălcare a termenilor licențelor Creative Commons folosite de programatori.

Folosind GitHub, dezvoltatorii creează încă un alt punct de sufocare în care inovația poate fi înăbușită, subminată și supusă interferențelor frivole.

Gitea vă permite să vă configurați propriul server Git pe Raspberry Pi

Gitea este un furk al Gogs și este o soluție ușoară de găzduire a codurilor gestionată de comunitate, scrisă în Go și publicată sub licența MIT. Acesta își propune să aibă un model de dezvoltare mai deschis și mai rapid decât predecesorul său și va rula pe mașini cu resurse chiar modeste, cum ar fi un Raspberry Pi. Veți putea lucra la fișierele dvs. de puncte, ISO-uri Ubuntu personalizate, scripturile Bash și utilitarele Java și Python fără teama că vor fi supuse unei eliminări DMCA, vor fi folosite pentru a antrena software nefast sau vor fi în afara controlului dumneavoastră.

Cum se instalează Gitea pe Raspberry Pi

Gitea vine cu mai multe metode de instalare, dar cea mai ușoară este prin Docker. Dacă nu aveți deja acestea rulând pe Raspberry Pi, instalați Docker și Docker Compose acum.

Fișierele pe care le stocați pe serverul dvs. Gitea vor ocupa potențial mult spațiu, așa că vă sugerăm folosind stocarea externă cu Raspberry Pi, și folosind asta ca locație pentru instalarea Gitea.

Conectați-vă la Pi prin SSH, apoi navigați la locația în care doriți să instalați Gitea și creați un nou director, apoi mutați-vă în el:

mkdir gitea
CD gitea

Creați un fișier nou cu nano:

nanodocker-compune.yml

... și inserați următorul cod în el:

versiune: "3"

retele:
gitea:
extern: fals

Servicii:
Server:
imagine: gitea/gitea: latest
container_name: gitea
mediu inconjurator:
- 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
reporniți: întotdeauna
retele:
- gitea
volume:
- ./gitea:/data
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
porturi:
- "3000:3000"
- "222:22"
depinde de:
- db

db:
imagine: mysql: 8
reporniți: întotdeauna
mediu inconjurator:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
retele:
- gitea
volume:
- ./mysql:/var/lib/mysql

Schimbați fusurile orare în propria dvs. localitate și alegeți o parolă puternică pentru baza de date, apoi salvați și părăsiți nano cu Ctrl + O, apoi Ctrl + X.

Introduce:

docker-compune până -d

... pentru a afișa docker-compose în modul detașat. Docker-compose va extrage mai multe imagini pentru Gitea și Maria DB și va configura containere. În funcție de viteza conexiunii, acest lucru poate dura ceva timp.

Când revii la promptul de comandă:

docker-compose ps

…ar trebui să arate „gitea” și „gitea_db_1” ca „sus”. Acum poți vizita pagina de configurare inițială a site-ului tău Gitea la adresa dumneavoastră.pi.local.ip: 3000.

Nu modifica nimic încă. Dacă intenționați să vă accesați instanța Gitea prin internet, trebuie să vă pregătiți mai întâi.

Accesați-vă Instanța Gitea prin Internet

Doriți să puteți introduce o adresă URL standard pentru a putea ajunge la instanța dvs. Gitea, așa că veți avea nevoie de Apache pentru a gestiona proxy. Instalați Apache cu:

sudo apt instalare apache2

Acum, porniți și activați Apache cu următoarele comenzi:

sudo systemctl start apache2
sudo systemctl permite apache2

Activați modulele proxy Apache cu:

sudo a2enmod proxy
sudo a2enmod proxy_http

Alegeți un nume de domeniu sau un nume de subdomeniu de la un registrator reputat. Apoi, din pagina de setări a registratorului, găsiți opțiunile „DNS avansat” și adăugați una nouă A record. Seteaza Gazdă câmp la "@" iar câmpul de valoare la adresa IP statică. Setați valoarea TTL (Time to Lease) cât mai scăzută posibil, apoi salvați.

Deschideți pagina de administrare a routerului și găsiți o secțiune intitulată fie Port forwarding, Harta portului, sau Managementul portului.

Creați o intrare nouă pentru solicitările HTTP. Setați atât portul local, cât și portul public 80, iar adresa IP locală la adresa IP a Raspberry Pi.

Un al doilea port deschis este necesar pentru cererile HTTPS. Setați atât portul local, cât și portul public 443, și din nou, adresa IP locală la adresa IP a lui Pi.

În cele din urmă, aveți nevoie de un port deschis pentru solicitările SSH către serverul dvs. Git. Setați atât portul local, cât și portul public 222, iar adresa IP locală la adresa IP a lui Pi.

Veți folosi Certbot pentru a obține certificate și chei de securitate. Adăugați depozitul Certbot, actualizați, apoi instalați Certbot:

sudo add-apt-repository ppa: certbot/certbot
sudo apt Actualizați
sudo apt-obține instalați python3-certbot-apache

Schimbați directoarele și creați un fișier nou cu nano:

CD /etc/apache2/sites-available/
nanogitea.conf

În noul fișier, inserați următoarele, asigurându-vă că copiați în propriul nume de domeniu:

<VirtualHost *:80>ServerName numele-domeniul-vou.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http://127.0.0.1:3000/ProxyPreserveHost Activat</VirtualHost>

Salvați și ieșiți din nano cu Ctrl + O, apoi Ctrl + Xși activați noul fișier de conf cu:

sudoa2ensitegitea.conf

Reporniți Apache:

sudo service apache2 reporniți

Rulați Certbot cu:

sudo certbot

...și selectați numele dvs. de domeniu dintr-o listă. Certbot va prelua și instala certificate și chei. Când reveniți la prompt, reporniți Apache din nou:

sudo service apache2 reporniți

Configurare instanță Gitea

Acum vă puteți vizita instanța Gitea într-un browser cu la adresa https://your-domain-name.tld. Veți putea seta tipul bazei de date, parola și alte variabile în prima secțiune. Acestea vor fi valorile pe care le-ați specificat în fișierul docker-compose și ar trebui să fie deja completate, deci nu este nevoie să le modificați.

În setari generale, Seteaza Titlul Site-ului la unul potrivit, Domeniul serverului ar trebui să fie numele dvs. de domeniu și Portul serverului SSH trebuie setat la 222. Adresa URL de bază ar trebui să fie numele dvs. de domeniu, inclusiv „HTTPS://”.

Când ai terminat, lovește marele albastru Instalează Gitea buton. Vei fi întâmpinat de o ceașcă mare de ceai verde și orice nume și melc i-ai dat instanței. Pentru a vă crea primul utilizator, faceți clic pe înregistrare în partea dreaptă sus a paginii, apoi introduceți detaliile dvs. Felicitări!

Pentru a opri pe oricine altcineva să se înregistreze și să găzduiască propriile depozite pe serverul dvs. Git, trebuie să editați app.ini fişier. Dacă ați creat inițial dvs gitea directorul din / directorul (rădăcină), introduceți:

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

Derulați în jos la secțiunea de servicii și setați DISABLE_REGISTRATION la adevărat.

Salvați și ieșiți din nano cu Ctrl + O, apoi Ctrl + X, apoi reporniți containerele:

docker-compose downdocker-compose sus -d

Folosind Gitea

Dacă ați folosit vreodată GitHub, veți fi instantaneu acasă în Gitea. După ce vă conectați, veți vedea că nu există depozite disponibile. Creați unul făcând clic pe + semnează în partea dreaptă a paginii și dă-i un nume sensibil.

Puteți alege să faceți ca depozitul să fie privat bifând caseta sau să îl lăsați deschis pentru ca toată lumea să-l vadă. Bifați caseta pentru a inițializa cu un fișier readme, apoi faceți clic Creați un depozit pentru a crea primul tău depozit! Puteți să faceți și să efectuați modificări, să încărcați fișiere și să editați ca și cum ar fi GitHub.

Click pe SSH pentru a copia adresa și nu veți putea clona depozitele pe mașina dvs. locală, primind în schimb o eroare: „Vă rugăm să vă asigurați că aveți drepturile de acces corecte și că depozitul există”. Mai întâi trebuie să adăugați cheia SSH a mașinii locale la Gitea. Pentru a face acest lucru, copiați rezultatul de la:

pisica ~/.ssh/id_rsa.pub

În interfața web Gitea, faceți clic pe poza de profil, apoi alegeți setări> Chei SSH/ GPG. Click pe Adăugați cheia, și inserați cheia pe care tocmai ați copiat-o.

Acum puteți interacționa cu propriul depozit Git de pe propriul server Git de pe propriul Raspberry Pi!

Folosește-ți instanța Gitea pentru a crea proiecte software minunate

Git este un instrument minunat pentru colaborarea la proiecte uimitoare, dar chiar și fără o echipă, este fantastic pentru a vă organiza propriul flux de lucru și pentru a crea software sau configurații fabuloase. Folosiți-l pentru a vă urmări fișierele pe măsură ce învățați un nou limbaj de programare sau personalizați sistemul desktop pentru a fi cât mai bun.