Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Git is een versiebeheersysteem dat wordt gebruikt door softwareontwikkelaars, codeerders en knutselaars om samen te werken aan open source-projecten en deze te verspreiden. Met Git kun je projecten van elke omvang aan, codewijzigingen en samenvoegingen doorvoeren en gebruikers in staat stellen je repositories naar hun eigen machines te klonen. Het open source-ecosysteem draait op Git en veel van de projecten op MakeUseOf.com maken gebruik van bronnen van GitHub. Met Gitea kun je je eigen volledig functionele Git-repository's hosten op een Raspberry Pi in je eigen huis.

Waarom je eigen Git-service hosten op Raspberry Pi in plaats van GitHub te gebruiken?

Met 55 miljoen gebruikers, GitHub is de grootste opslagplaats van gratis en open source software op aarde, maar de huidige eigenaar, Microsoft, is niet geschikt voor de rol van bewaarder. Eerdere CEO's van het bedrijf beschreven Linux en de General Public License als "kanker", en de meeste van Microsoft's eigen producten zijn propriëtair en closed source.

instagram viewer

Door het eigendom van Microsoft heeft GitHub ook enkele ethisch dubieuze technologieën verkend, met name met GitHub Copilot, een AI-tool om programmeurs te helpen bij het genereren van code. Copilot is getraind op gegevens van GitHub, mogelijk in strijd met de voorwaarden van de Creative Commons-licenties die door codeerders worden gebruikt.

Door GitHub te gebruiken, creëren ontwikkelaars nog een knelpunt waarop innovatie kan worden verstikt, ondermijnd en onderworpen aan lichtzinnige inmenging.

Met Gitea kun je je eigen Git-server opzetten op Raspberry Pi

Gitea is een afsplitsing van Gogs en is een door de gemeenschap beheerde, lichtgewicht oplossing voor codehosting, geschreven in Go en gepubliceerd onder de MIT-licentie. Het streeft naar een meer open en sneller ontwikkelingsmodel dan zijn voorganger, en zal draaien op machines met zelfs maar bescheiden middelen, zoals een Raspberry Pi. Je kunt aan je dotfiles werken, aangepaste Ubuntu ISO's, Bash-scripts en Java- en Python-hulpprogramma's zonder bang te hoeven zijn dat ze het slachtoffer zullen worden van een DMCA-verwijdering, worden gebruikt om snode software te trainen of op een andere manier buiten uw controle vallen.

Hoe Gitea op uw Raspberry Pi te installeren

Gitea wordt geleverd met verschillende installatiemethoden, maar de gemakkelijkste is via Docker. Als je deze nog niet op je Raspberry Pi hebt draaien, Installeer Docker en Docker Compose nu.

De bestanden die u op uw Gitea-server opslaat, nemen mogelijk veel ruimte in beslag, dus we raden u aan externe opslag gebruiken met je Raspberry Pi, en dat gebruiken als de locatie voor uw Gitea-installatie.

Maak verbinding met je Pi via SSH, navigeer dan naar de locatie waar je Gitea wilt installeren, maak een nieuwe map aan en ga er vervolgens naartoe:

mkdir gita
CD gîte

Maak een nieuw bestand aan met nano:

nanodocker-componeren.yml

...en plak de volgende code erin:

versie: "3"

netwerken:
gîte:
extern: onwaar

Diensten:
server:
afbeelding: gite/gitea: nieuwste
containernaam: gitea
omgeving:
- 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
opnieuw opstarten: altijd
netwerken:
- gîte
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
poorten:
- "3000:3000"
- "222:22"
hangt af van:
- db

DB:
afbeelding: mysql: 8
opnieuw opstarten: altijd
omgeving:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
netwerken:
- gîte
volumes:
- ./mysql:/var/lib/mysql

Wijzig de tijdzones in uw eigen locale en kies een sterk wachtwoord voor uw database, sla vervolgens op en sluit nano af met Ctrl+O, Dan Ctrl+X.

Binnenkomen:

docker-samenstellen up -d

...om docker-compose op te roepen in vrijstaande modus. Docker-compose zal meerdere afbeeldingen voor Gitea en Maria DB ophalen en containers opzetten. Afhankelijk van uw verbindingssnelheid kan dit even duren.

Wanneer u terugkeert naar de opdrachtprompt:

docker-samenstellen ps

…zou "gitea" en "gitea_db_1" als "up" moeten tonen. U kunt nu de initiële configuratiepagina voor uw Gitea-site bezoeken op uw.pi.lokaal.ip.adres: 3000.

Verander nog niets. Als u van plan bent om via internet toegang te krijgen tot uw Gitea-instantie, moet u eerst wat meer voorbereiding doen.

Toegang tot uw Gitea-instantie via internet

U wilt een standaard URL kunnen typen om uw Gitea-instantie te kunnen bereiken, dus u hebt Apache nodig om proxying af te handelen. Apache installeren met:

sudo geschikt installeren apache2

Start en schakel Apache nu in met de volgende opdrachten:

sudo systeemctl begin apache2
sudo systeemctl inschakelen apache2

Schakel de proxymodules van Apache in met:

sudo a2enmod-proxy
sudo a2enmod proxy_http

Kies een domeinnaam of subdomeinnaam van een gerenommeerde registrar. Zoek vervolgens op de instellingenpagina van uw registrar naar de 'Geavanceerde DNS'-opties en voeg een nieuwe toe A dossier. Stel de Gastheer veld naar "@" en het waardeveld naar uw statische IP-adres. Stel de TTL-waarde (Time to Lease) zo laag mogelijk in en sla op.

Open de beheerderspagina van uw router en zoek een sectie met de titel een van beide Port forwarding, Poort in kaart brengen, of Havenbeheer.

Maak een nieuw item voor HTTP-aanvragen. Stel zowel de lokale als de openbare poort in op 80, en het lokale IP-adres naar het IP-adres van je Raspberry Pi.

Voor HTTPS-aanvragen is een tweede open poort vereist. Stel zowel de lokale als de openbare poort in op 443, en nogmaals, het lokale IP-adres naar het IP-adres van je Pi.

Ten slotte heb je een open poort nodig voor SSH-verzoeken aan je Git-server. Stel zowel de lokale als de openbare poort in op 222, en het lokale IP-adres naar het IP-adres van je Pi.

U gebruikt Certbot om beveiligingscertificaten en sleutels te verkrijgen. Voeg de Certbot-repository toe, update en installeer vervolgens Certbot:

sudo add-apt-repository ppa: certbot/certbot
sudo geschikt update
sudo apt-krijgen installeer python3-certbot-apache

Verander van map en maak een nieuw bestand aan met nano:

CD /etc/apache2/sites-available/
nanogîte.conf

Plak het volgende in het nieuwe bestand en zorg ervoor dat u het in uw eigen domeinnaam kopieert:

<VirtueleHost *:80>ServerNaam uw-domeinnaam.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost Aan</VirtualHost>

Opslaan en nano afsluiten met Ctrl + O, Dan Ctrl + X, en activeer je nieuwe conf-bestand met:

sudoa2ensitegîte.conf

Herstart Apache:

sudo-service apache2 opnieuw opstarten

Voer Certbot uit met:

sudo certbot

…en selecteer uw domeinnaam uit een lijst. Certbot zal certificaten en sleutels ophalen en installeren. Wanneer u terugkeert naar de prompt, start u Apache opnieuw op:

sudo-service apache2 opnieuw opstarten

Installatie Gitea-exemplaar

U kunt nu uw Gitea-instantie bezoeken in een browser met op het adres https://your-domain-name.tld. In het eerste gedeelte kunt u het databasetype, het wachtwoord en andere variabelen instellen. Dit zijn waarden die u hebt opgegeven in uw docker-compose-bestand en die al moeten zijn ingevuld, dus u hoeft ze niet te wijzigen.

In Algemene instellingen, stel de Pagina Titel naar een geschikte, Serverdomein moet uw domeinnaam zijn en SSH-serverpoort moet worden ingesteld 222. De basis-URL moet uw domeinnaam zijn, inclusief "HTTPS://".

Als je klaar bent, druk je op het grote blauw Gitea installeren knop. Je wordt begroet door een grote groene kop thee, en welke naam en slak je ook aan de instantie hebt gegeven. Om uw eerste gebruiker aan te maken, klikt u rechtsboven op de pagina op registreren en vult u vervolgens uw gegevens in. Gefeliciteerd!

Om te voorkomen dat iemand anders zijn eigen repositories op uw Git-server registreert en host, moet u het app.ini bestand. Als u in eerste instantie uw gîte map in de / (root) directory, voer in:

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

Blader omlaag naar het servicegedeelte en stel in DISABLE_REGISTRATION naar waar.

Opslaan en nano afsluiten met Ctrl + O, Dan Ctrl + X, start vervolgens uw containers opnieuw op:

docker-compose downdocker-compose up -d

Gitea gebruiken

Als je ooit GitHub hebt gebruikt, ben je meteen thuis in Gitea. Nadat u bent ingelogd, ziet u dat er geen repositories beschikbaar zijn. Maak er een door op te klikken + teken aan de rechterkant van de pagina en geef het een redelijke naam.

Je kunt ervoor kiezen om de repository privé te maken door het vakje aan te vinken, of open te laten zodat de wereld het kan zien. Vink het vakje aan om te initialiseren met een leesmij-bestand en klik vervolgens op Maak een opslagplaats om je eerste repository te maken! U kunt wijzigingen aanbrengen en doorvoeren, bestanden uploaden en bewerken alsof het GitHub is.

Klik op SSH om het adres te kopiëren, en je zult geen repositories naar je lokale computer kunnen klonen, in plaats daarvan krijg je een foutmelding: "Zorg ervoor dat je de juiste toegangsrechten hebt en dat de repository bestaat". U moet eerst de SSH-sleutel van uw lokale computer aan Gitea toevoegen. Kopieer hiervoor de uitvoer van:

kat ~/.ssh/id_rsa.pub

Klik in uw Gitea-webinterface op uw profielfoto en kies vervolgens instellingen> SSH/GPG-sleutels. Klik op Sleutel toevoegenen plak de sleutel die u zojuist hebt gekopieerd.

Je kunt nu communiceren met je eigen Git-repository op je eigen Git-server op je eigen Raspberry Pi!

Gebruik uw Gitea-instantie om geweldige softwareprojecten te maken

Git is een geweldige tool om samen te werken aan geweldige projecten, maar zelfs zonder een team is het fantastisch om je eigen workflow te organiseren en fantastische software of configuraties te maken. Gebruik het om je bestanden bij te houden terwijl je een nieuwe programmeertaal leert of om je desktopsysteem zo goed mogelijk aan te passen.