Git je sustav kontrole verzija koji koriste programeri softvera, koderi i majstori za suradnju i distribuciju projekata otvorenog koda. Koristeći Git, možete upravljati projektima bilo koje veličine, unositi promjene koda i spajanja te dopustiti korisnicima da kloniraju vaša spremišta na vlastita računala. Ekosustav otvorenog izvornog koda radi na Gitu, a mnogi projekti na MakeUseOf.com uključuju korištenje resursa s GitHuba. Uz Giteu, možete ugostiti vlastita potpuno funkcionalna Git spremišta na Raspberry Pi u vlastitom domu.
Zašto hostirati vlastitu Git uslugu na Raspberry Pi umjesto korištenja GitHuba?
S 55 milijuna korisnika, GitHub je najveći repozitorij besplatnog i otvorenog softvera na Zemlji, ali njegov trenutni vlasnik, Microsoft, nije prirodno sposoban za ulogu skrbnika. Prethodni izvršni direktori tvrtke opisali su Linux i Opću javnu licencu kao "rak", a većina Microsoftovih vlastitih proizvoda su vlasnički i zatvorenog koda.
Vlasništvo Microsofta također je dovelo do toga da GitHub istražuje neke etički sumnjive tehnologije — osobito s GitHub Copilot, AI alatom koji pomaže programerima da generiraju kod. Copilot je obučen na podacima s GitHuba, što je moguće kršenje uvjeta Creative Commons licenci koje koriste koderi.
Koristeći GitHub, programeri stvaraju još jednu točku gušenja na kojoj se inovacija može ugušiti, potkopati i podvrgnuti neozbiljnom uplitanju.
Gitea vam omogućuje postavljanje vlastitog Git poslužitelja na Raspberry Pi
Gitea je fork Gogs-a i lagano rješenje za hosting koda kojim upravlja zajednica napisano u Go-u i objavljeno pod licencom MIT-a. Cilj mu je imati otvoreniji i brži razvojni model od svog prethodnika, a radit će na strojevima sa čak i skromnim resursima, kao što je Raspberry Pi. Moći ćete raditi na svojim dotfilesima, prilagođeni Ubuntu ISO-ovi, Bash skripte i Java i Python uslužne programe bez straha da će biti podvrgnuti DMCA uklanjanju, da će se koristiti za obuku opakog softvera ili da će na neki drugi način biti izvan vaše kontrole.
Kako instalirati Giteu na svoj Raspberry Pi
Gitea dolazi s nekoliko načina instalacije, ali najlakši je putem Dockera. Ako ih već nemate pokrenute na Raspberry Piju, instalirajte Docker i Docker Compose sada.
Datoteke koje pohranjujete na svom Gitea poslužitelju potencijalno će zauzeti puno prostora, stoga predlažemo koristeći vanjsku pohranu s vašim Raspberry Pi, i korištenje toga kao lokacije za vašu Gitea instalaciju.
Povežite se na svoj Pi putem SSH-a, zatim dođite do mjesta na kojem želite instalirati Giteu i izradite novi direktorij, a zatim prijeđite u njega:
mkdir gitea
CD gitea
Stvorite novu datoteku s nanom:
nanodocker-compose.yml
...i zalijepite sljedeći kod u njega:
verzija: "3"mreže:
gitea:
vanjski: lažni
usluge:
poslužitelj:
slika: gitea/gitea: najnovije
naziv_spremnika: gitea
okoliš:
- USER_UID=1000
- USER_GID=1000
- GITEA__baza__DB_TYPE=mysql
- GITEA__baza__HOST=db: 3306
- GITEA__baza___NAME=gitea
- GITEA__baza__KORISNIK=gitea
- GITEA__baza podataka__PASSWD=gitea
ponovno pokretanje: uvijek
mreže:
- gitea
svezaci:
- ./gitea:/podaci
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
luke:
- "3000:3000"
- "222:22"
ovisi o:
- db
db:
slika: mysql: 8
ponovno pokretanje: uvijek
okoliš:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
mreže:
- gitea
svezaci:
- ./mysql:/var/lib/mysql
Promijenite vremenske zone u vlastitu lokalizaciju i odaberite jaku lozinku za svoju bazu podataka, zatim spremite i izađite iz nano-a pomoću Ctrl + O, onda Ctrl + X.
Unesi:
docker-compose up -d
...za pokretanje docker-compose u odvojenom načinu rada. Docker-compose će povući više slika za Gitea i Maria DB i postaviti spremnike. Ovisno o brzini vaše veze, to može potrajati.
Kada se vratite na naredbeni redak:
docker-compose ps
...trebalo bi prikazati "gitea" i "gitea_db_1" kao "gore". Sada možete posjetiti početnu konfiguracijsku stranicu za svoju Gitea stranicu na vaša.pi.lokalna.ip.adresa: 3000.
Nemojte još ništa mijenjati. Ako planirate pristupiti svojoj Gitea instanci putem interneta, prvo se trebate malo više pripremiti.
Pristupite svojoj Gitea instanci putem interneta
Želite imati mogućnost upisivanja standardnog URL-a kako biste mogli doći do svoje Gitea instance, tako da ćete trebati Apache za rukovanje proxyjem. Instalirajte Apache sa:
sudo apt instalirati apache2
Sada pokrenite i omogućite Apache sa sljedećim naredbama:
sudo systemctl početak apache2
sudo systemctl omogućiti apache2
Omogućite Apacheove proxy module pomoću:
sudo a2enmod proxy
sudo a2enmod proxy_http
Odaberite naziv domene ili naziv poddomene od renomiranog matičara. Zatim na stranici s postavkama vašeg registrara pronađite opcije "Napredni DNS" i dodajte novi A snimiti. Postavi Domaćin polje za "@" a polje vrijednosti na vašu statičku IP adresu. Postavite vrijednost TTL (Time to Lease) na najnižu moguću vrijednost, a zatim spremite.
Otvorite stranicu administratora usmjerivača i pronađite odjeljak pod nazivom bilo koji Port Forwarding, Mapiranje luka, ili Upravljanje lukama.
Napravite novi unos za HTTP zahtjeve. Postavite i lokalni i javni priključak na 80, a lokalnu IP adresu na IP adresu vašeg Raspberry Pi.
Za HTTPS zahtjeve potreban je drugi otvoreni port. Postavite i lokalni i javni priključak na 443, i opet, lokalna IP adresa na IP adresu vašeg Pi.
Konačno, potreban vam je port otvoren za SSH zahtjeve prema vašem Git poslužitelju. Postavite i lokalni i javni priključak na 222, a lokalnu IP adresu u IP adresu vašeg Pi.
Koristit ćete Certbot za dobivanje sigurnosnih certifikata i ključeva. Dodajte Certbot repozitorij, ažurirajte, zatim instalirajte Certbot:
sudo add-apt-repository ppa: certbot/certbot
sudo apt Ažuriraj
sudo apt-dobiti instalirajte python3-certbot-apache
Promijenite direktorije i stvorite novu datoteku s nano:
CD /etc/apache2/sites-available/
nanogitea.konf
U novu datoteku zalijepite sljedeće, pazeći da kopirate u svoj naziv domene:
<Virtualni host *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http://127.0.0.1:3000/ProxyPreserveHost uključen</VirtualHost>
Spremite i izađite iz nano s Ctrl + O, onda Ctrl + x, i omogućite svoju novu conf datoteku s:
sudoa2ensitegitea.konf
Ponovno pokrenite Apache:
sudo service apache2 restart
Pokrenite Certbot s:
sudo certbot
...i odaberite naziv svoje domene s popisa. Certbot će dohvatiti i instalirati certifikate i ključeve. Kada se vratite na upit, ponovo pokrenite Apache:
sudo service apache2 restart
Postavljanje Gitea instance
Sada možete posjetiti svoju Gitea instancu u pregledniku s adresom https://your-domain-name.tld. Moći ćete postaviti vrstu baze podataka, lozinku i druge varijable u prvom odjeljku. To će biti vrijednosti koje ste naveli u svojoj docker-compose datoteci i trebale bi već biti popunjene, tako da ih nema potrebe mijenjati.
U Opće postavke, Postavi Naslov stranice do odgovarajućeg, Domena poslužitelja trebao bi biti naziv vaše domene i Port SSH poslužitelja mora biti postavljeno na 222. Osnovni URL trebao bi biti naziv vaše domene uključujući "HTTPS://".
Kad završite, pritisnite veliko plavo Instalirajte Giteu dugme. Dočekat će vas velika zelena šalica čaja, bez obzira na ime i naziv koji ste dali instanci. Da biste kreirali svog prvog korisnika, kliknite na registracija u gornjem desnom kutu stranice, zatim unesite svoje podatke. Čestitamo!
Kako biste spriječili bilo koga da se registrira i hostira vlastita spremišta na vašem Git poslužitelju, morate urediti app.ini datoteka. Ako ste u početku stvorili svoj gitea imenik u / (korijenski) direktorij, unesite:
nano /gitea/gitea/gitea/conf/app.ini
Pomaknite se prema dolje do odjeljka usluga i postavite ONEMOGUĆI_REGISTRACIJU na istinito.
Spremite i izađite iz nano s Ctrl + O, onda Ctrl + X, zatim ponovno pokrenite svoje spremnike:
docker-compose downdocker-compose up -d
Korištenje Gitea
Ako ste ikada koristili GitHub, odmah ćete se osjećati kao kod kuće u Gitei. Nakon što se prijavite, vidjet ćete da nema dostupnih repozitorija. Stvorite ga klikom na + potpišite s desne strane stranice i dajte mu razuman naziv.
Možete odlučiti da spremište učinite privatnim označavanjem okvira ili ga ostavite otvorenim da ga svijet vidi. Označite okvir za inicijalizaciju datotekom readme, a zatim kliknite Stvori spremište da stvorite svoje prvo spremište! Možete unositi i uređivati promjene, prenositi datoteke i uređivati baš kao da je GitHub.
Kliknite na SSH da kopirate adresu i nećete moći klonirati repozitorije na vašem lokalnom računalu, umjesto toga dobivate pogrešku: "Provjerite imate li ispravna prava pristupa i postoji li repozitorij". Prvo morate Gitei dodati SSH ključ svog lokalnog računala. Da biste to učinili, kopirajte izlaz iz:
mačka ~/.ssh/id_rsa.pub
Na svom Gitea web sučelju kliknite svoju profilnu sliku, a zatim odaberite postavke> SSH/ GPG ključevi. Kliknite na Dodaj ključ, i zalijepite ključ koji ste upravo kopirali.
Sada možete komunicirati s vlastitim Git spremištem na vlastitom Git poslužitelju na vlastitom Raspberry Piju!
Upotrijebite svoju Gitea instancu za stvaranje sjajnih softverskih projekata
Git je sjajan alat za suradnju na nevjerojatnim projektima, ali čak i bez tima, fantastičan je za organiziranje vlastitog tijeka rada i stvaranje fantastičnog softvera ili konfiguracija. Koristite ga kako biste lakše pratili svoje datoteke dok učite novi programski jezik ili prilagođavate svoj desktop sustav da bude najbolji što može biti.