Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Git er et versjonskontrollsystem som brukes av programvareutviklere, kodere og tindere for å samarbeide om og distribuere åpen kildekode-prosjekter. Ved å bruke Git kan du håndtere prosjekter av alle størrelser, trekke inn kodeendringer og slå sammen, og la brukere klone lagrene dine på sine egne maskiner. Det åpne kildekode-økosystemet kjører på Git, og mange av prosjektene på MakeUseOf.com involverer bruk av ressurser fra GitHub. Med Gitea kan du være vert for dine egne fullt funksjonelle Git-lagre på en Raspberry Pi i ditt eget hjem.

Hvorfor være vert for din egen Git-tjeneste på Raspberry Pi i stedet for å bruke GitHub?

Med 55 millioner brukere, GitHub er det største depotet for gratis og åpen kildekode-programvare på jorden, men dens nåværende eier, Microsoft, passer ikke naturlig for rollen som forvalter. Tidligere administrerende direktører i selskapet beskrev Linux og General Public License som "en kreft", og de fleste av Microsofts egne produkter er proprietære og lukket kildekode.

Microsofts eierskap har også sett at GitHub har utforsket noen etisk tvilsomme teknologier – spesielt med GitHub Copilot, et AI-verktøy for å hjelpe programmerere med å generere kode. Copilot ble trent på data fra GitHub, i mulig brudd på vilkårene i Creative Commons-lisensene brukt av kodere.

Ved å bruke GitHub skaper utviklere enda et choke-punkt der innovasjon kan kveles, undergraves og utsettes for useriøs interferens.

Gitea lar deg sette opp din egen Git-server på Raspberry Pi

Gitea er en fork av Gogs, og er en fellesskapsadministrert, lett kodevertsløsning skrevet i Go, og publisert under MIT-lisensen. Den har som mål å ha en mer åpen og raskere utviklingsmodell enn forgjengeren, og vil kjøre på maskiner med selv beskjedne ressurser, for eksempel en Raspberry Pi. Du vil kunne jobbe med dotfilene dine, tilpassede Ubuntu ISO-er, Bash-skript og Java- og Python-verktøy uten frykt for at de vil bli gjenstand for en DMCA-fjerning, bli brukt til å trene ufarlig programvare eller på annen måte være utenfor din kontroll.

Slik installerer du Gitea på Raspberry Pi

Gitea kommer med flere installasjonsmetoder, men den enkleste er via Docker. Hvis du ikke allerede har disse kjørende på din Raspberry Pi, installer Docker og Docker Compose nå.

Filene du lagrer på Gitea-serveren din vil potensielt ta opp mye plass, så vi foreslår bruke ekstern lagring med din Raspberry Pi, og bruk det som plassering for Gitea-installasjonen.

Koble til din Pi via SSH, naviger deretter til stedet der du vil installere Gitea, og lag en ny katalog, og flytt deretter inn i den:

mkdir gitea
cd gitea

Opprett en ny fil med nano:

nanodocker-komponere.yml

...og lim inn følgende kode i den:

versjon: "3"

nettverk:
gitea:
ekstern: falsk

tjenester:
server:
bilde: gitea/gitea: siste
container_name: gitea
miljø:
- 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
omstart: alltid
nettverk:
- gitea
volumer:
- ./gitea:/data
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
porter:
- "3000:3000"
- "222:22"
kommer an på:
-db

db:
bilde: mysql: 8
omstart: alltid
miljø:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
nettverk:
- gitea
volumer:
- ./mysql:/var/lib/mysql

Endre tidssonene til din egen lokalitet og velg et sterkt passord for databasen, og lagre og avslutt nano med Ctrl + O, deretter Ctrl + X.

Tast inn:

docker-komponere opp -d

…for å få opp docker-compose i løsrevet modus. Docker-compose vil trekke flere bilder for Gitea og Maria DB og sette opp containere. Avhengig av tilkoblingshastigheten din, kan dette ta litt tid.

Når du kommer tilbake til ledeteksten:

docker-komponer ps

…skal vise "gitea" og "gitea_db_1" som "opp". Du kan nå besøke den første konfigurasjonssiden for Gitea-siden din på din.pi.lokale.ip.adresse: 3000.

Ikke endre noe ennå. Hvis du planlegger å få tilgang til Gitea-forekomsten din over internett, må du gjøre litt mer forberedelse først.

Få tilgang til Gitea-forekomsten din over Internett

Du vil kunne skrive inn en standard URL for å kunne nå Gitea-forekomsten din, så du trenger Apache for å håndtere proxy. Installer Apache med:

sudo apt installere apache2

Nå, start og aktiver Apache med følgende kommandoer:

sudo systemctl start apache2
sudo systemctl muliggjøre apache2

Aktiver Apaches proxy-moduler med:

sudo a2enmod proxy
sudo a2enmod proxy_http

Velg et domenenavn eller underdomenenavn fra en anerkjent registrar. Deretter, fra registrarens innstillingsside, finner du "Avansert DNS"-alternativer og legger til en ny EN ta opp. Sett Vert felt til "@" og verdifeltet til din statiske IP-adresse. Sett TTL-verdien (Time to Lease) så lav som mulig, og lagre deretter.

Åpne ruterens admin-side, og finn en seksjon med tittelen enten Port Forwarding, Portkartlegging, eller Havneledelse.

Opprett en ny oppføring for HTTP-forespørsler. Sett både den lokale og offentlige havnen til 80, og den lokale IP-adressen til IP-adressen til din Raspberry Pi.

En annen åpen port kreves for HTTPS-forespørsler. Sett både den lokale og offentlige havnen til 443, og igjen, den lokale IP-adressen til IP-adressen til din Pi.

Til slutt trenger du en port åpen for SSH-forespørsler til Git-serveren din. Sett både den lokale og offentlige havnen til 222, og den lokale IP-adressen til IP-adressen til din Pi.

Du vil bruke Certbot for å få sikkerhetssertifikater og nøkler. Legg til Certbot-depotet, oppdater og installer Certbot:

sudo add-apt-repository ppa: certbot/certbot
sudo apt Oppdater
sudo apt- installer python3-certbot-apache

Endre kataloger, og lag en ny fil med nano:

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

I den nye filen limer du inn følgende, og pass på å kopiere inn ditt eget domenenavn:

<VirtualHost *:80>Servernavn ditt-domenenavn.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http://127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

Lagre og avslutt nano med Ctrl + O, deretter Ctrl + X, og aktiver din nye conf-fil med:

sudoa2ensitegitea.conf

Start Apache på nytt:

sudo-tjenesten apache2 omstart

Kjør Certbot med:

sudo certbot

…og velg domenenavnet ditt fra en liste. Certbot vil hente og installere sertifikater og nøkler. Når du kommer tilbake til ledeteksten, start Apache på nytt:

sudo-tjenesten apache2 omstart

Gitea Instance Setup

Du kan nå besøke din Gitea-instans i en nettleser med adressen https://your-domain-name.tld. Du vil kunne angi databasetype, passord og andre variabler i den første delen. Dette vil være verdiene du spesifiserte i docker-compose-filen, og skal allerede være fylt ut, så det er ikke nødvendig å endre dem.

I Generelle innstillinger, sett Side tittel til en passende, Serverdomene bør være ditt domenenavn og SSH-serverport må settes til 222. Basis-URLen skal være domenenavnet ditt, inkludert "HTTPS://".

Når du er ferdig, trykker du på den store blå Installer Gitea knapp. Du vil bli møtt av en stor grønn kopp te, og uansett hvilket navn og snegl du ga til instansen. For å opprette din første bruker, klikk på registrer øverst til høyre på siden, og skriv deretter inn detaljene dine. Gratulerer!

For å hindre andre fra å registrere og være vert for sine egne depoter på Git-serveren din, må du redigere app.ini fil. Hvis du opprinnelig opprettet din gitea katalogen i / (root) katalog, skriv inn:

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

Rull ned til servicedelen og still inn DISABLE_REGISTRATION til sant.

Lagre og avslutt nano med Ctrl + O, deretter Ctrl + X, start deretter beholderne på nytt:

docker-compose downdocker-compose up -d

Bruker Gitea

Hvis du noen gang har brukt GitHub, vil du umiddelbart være hjemme i Gitea. Etter at du har logget på, vil du se at det ikke er noen lagre tilgjengelig. Lag en ved å klikke på + tegn til høyre på siden, og gi den et fornuftig navn.

Du kan velge å gjøre depotet privat ved å merke av i boksen, eller la det være åpent slik at verden kan se det. Merk av i boksen for å initialisere med en readme-fil, og klikk deretter Opprett arkiv for å lage ditt første depot! Du kan gjøre og foreta endringer, laste opp filer og redigere akkurat som om det var GitHub.

Klikk på SSH for å kopiere adressen, og du vil ikke kunne klone depoter til din lokale maskin, og får en feilmelding: "Vennligst sørg for at du har de riktige tilgangsrettighetene og at depotet eksisterer" i stedet. Du må legge til din lokale maskins SSH-nøkkel til Gitea først. For å gjøre dette, kopier utdataene fra:

katt ~/.ssh/id_rsa.pub

Klikk på profilbildet ditt i Gitea-nettgrensesnittet, og velg deretter innstillinger> SSH/GPG-taster. Klikk på Legg til nøkkel, og lim inn nøkkelen du nettopp kopierte.

Du kan nå samhandle med ditt eget Git-lager på din egen Git-server på din egen Raspberry Pi!

Bruk Gitea-instansen din til å lage fantastiske programvareprosjekter

Git er et fantastisk verktøy for å samarbeide om fantastiske prosjekter, men selv uten et team er det fantastisk for å organisere din egen arbeidsflyt og lage fabelaktig programvare eller konfigurasjoner. Bruk den til å holde oversikt over filene dine mens du lærer et nytt programmeringsspråk eller tilpasser skrivebordssystemet til å være best mulig.