Asenna Gitea Raspberry Pi:hen luodaksesi oman koodivaraston

Asenna Gitea Raspberry Pi:hen luodaksesi oman koodivaraston
Kaltaisesi lukijat auttavat tukemaan MUO:ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Git on versionhallintajärjestelmä, jota ohjelmistokehittäjät, koodaajat ja taitelijat käyttävät avoimen lähdekoodin projektien yhteistyöhön ja jakeluun. Gitin avulla voit käsitellä kaikenkokoisia projekteja, tehdä koodimuutoksia ja yhdistää sekä antaa käyttäjien kloonata arkistot omille koneilleen. Avoimen lähdekoodin ekosysteemi toimii Gitissä, ja monet MakeUseOf.comissa esitellyt projektit sisältävät GitHubin resurssien käyttöä. Gitean avulla voit isännöidä omia täysin toimivia Git-arkistojasi Raspberry Pi:llä omassa kodissasi.





PÄIVÄN VIDEON TEKEMINEN

Miksi isännöidä omaa Git-palveluasi Raspberry Pi:ssä GitHubin käyttämisen sijaan?

  GitHub-arkistosivu, joka näyttää luettelon Reactin tiedostoista's source code

55 miljoonalla käyttäjällä GitHub on suurin ilmaisten ja avoimen lähdekoodin ohjelmistojen arkisto maan päällä, mutta sen nykyinen omistaja, Microsoft, ei ole luonnostaan ​​sopiva huoltajan rooliin. Yrityksen aiemmat toimitusjohtajat kuvailivat Linuxia ja General Public License -lisenssiä 'syöpänä', ja suurin osa Microsoftin omista tuotteista on patentoituja ja suljetun lähdekoodin tuotteita.





Microsoftin omistuksen myötä GitHub on myös tutkinut joitain eettisesti kyseenalaisia ​​teknologioita – erityisesti GitHub Copilotin, tekoälytyökalun avulla, joka auttaa ohjelmoijia luomaan koodia. Copilot sai koulutusta GitHubin tiedoista, mikä mahdollisesti rikkoi koodaajien käyttämien Creative Commons -lisenssien ehtoja.





Käyttämällä GitHubia kehittäjät luovat jälleen uuden kuristuspisteen, jossa innovaatiot voidaan tukahduttaa, heikentää ja altistaa kevytmielisille häiriöille.

Gitea antaa sinun perustaa oman Git-palvelimesi Raspberry Pi:lle

Gitea on Gogin haarukka, ja se on yhteisön hallinnoima kevyt koodin isännöintiratkaisu, joka on kirjoitettu Go-kielellä ja julkaistu MIT-lisenssillä. Sen tavoitteena on olla edeltäjäänsä avoimempi ja nopeampi kehitysmalli, ja se toimii vaatimattomillakin resursseilla varustettuilla koneilla, kuten Raspberry Pi:llä. Pystyt työskentelemään pistetiedostojesi parissa, mukautetut Ubuntu ISO:t , Bash-komentosarjat sekä Java- ja Python-apuohjelmat ilman pelkoa siitä, että ne joutuvat DMCA-poiston kohteeksi, niitä käytetään ilkeiden ohjelmistojen kouluttamiseen tai ne eivät muuten ole hallinnassasi.



Kuinka asentaa Gitea Raspberry Pi -laitteeseen

Giteassa on useita asennustapoja, mutta helpoin niistä on Dockerin kautta. Jos sinulla ei ole näitä jo käynnissä Raspberry Pi:ssäsi, asenna Docker ja Docker Compose nyt.

Gitea-palvelimelle tallennetut tiedostot vievät mahdollisesti paljon tilaa, joten suosittelemme käyttämällä ulkoista tallennustilaa Raspberry Pi:n kanssa ja käyttämällä sitä Gitea-asennuksesi sijaintina.





Yhdistä Pi-laitteeseen SSH:n kautta , siirry sitten sijaintiin, johon haluat asentaa Gitean, luo uusi hakemisto ja siirry sitten siihen:

 mkdir gitea 
cd gitea

Luo uusi tiedosto nanolla:





 nano docker-compose.yml

...ja liitä siihen seuraava koodi:

 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

Muuta aikavyöhykkeet omaksi alueellesi ja valitse vahva salasana tietokannallesi, tallenna ja poistu nanosta Ctrl + O , sitten Ctrl + X.

Tulla sisään:

 docker-compose up -d 

… tuoda esiin Docker-sävellys irrotetussa tilassa. Docker-compose hakee useita kuvia Gitea ja Maria DB:lle ja asettaa kontit. Yhteysnopeudesta riippuen tämä voi kestää jonkin aikaa.

  docker-compose ps näyttää gitea ja gitea_db_1 ylös

Kun palaat komentokehotteeseen:

 docker-compose ps

…pitäisi näyttää 'gitea' ja 'gitea_db_1' muodossa 'ylös'. Voit nyt käydä Gitea-sivustosi alkuasetussivulla osoitteessa your.pi.local.ip.address:3000 .

Älä muuta vielä mitään. Jos aiot käyttää Gitea-esiintymääsi Internetin kautta, sinun on ensin valmisteltava hieman enemmän.

Käytä Gitea-esiintymääsi Internetin kautta

Haluat pystyä kirjoittamaan standardin URL-osoitteen päästäksesi Gitea-esiintymääsi, joten tarvitset Apachea välityspalvelimen käsittelyyn. Asenna Apache:

 sudo apt install apache2

Käynnistä ja ota Apache käyttöön seuraavilla komennoilla:

 sudo systemctl start apache2 
sudo systemctl enable apache2

Ota Apachen välityspalvelinmoduulit käyttöön seuraavilla tavoilla:

 sudo a2enmod proxy 
sudo a2enmod proxy_http

Valitse verkkotunnuksen nimi tai aliverkkotunnus hyvämaineelta rekisterinpitäjältä. Etsi sitten rekisterinpitäjän asetussivulta Advanced DNS -vaihtoehdot ja lisää uusi A ennätys. Aseta Isäntä kenttään ' @' ja arvokenttä staattiseen IP-osoitteeseesi. Aseta TTL (Time to Lease) -arvo mahdollisimman pieneksi ja tallenna sitten.

Avaa reitittimen järjestelmänvalvojasivu ja etsi jompikumpi osio Portin uudelleenohjaus , Porttikartoitus , tai Sataman hallinta.

Luo uusi merkintä HTTP-pyynnöille. Aseta sekä paikallinen että julkinen portti 80 ja paikallisen IP-osoitteen Raspberry Pi:n IP-osoitteeksi.

kuinka palauttaa dlc Steamissä

HTTPS-pyyntöjä varten tarvitaan toinen avoin portti. Aseta sekä paikallinen että julkinen portti 443 , ja jälleen paikallisesta IP-osoitteesta Pi:si IP-osoitteeseen.

Lopuksi tarvitset avoimen portin SSH-pyyntöjä varten Git-palvelimellesi. Aseta sekä paikallinen että julkinen portti 222 , ja paikallisen IP-osoitteen Pi:si IP-osoitteeseen.

Käytät Certbotia suojaussertifikaattien ja avainten hankkimiseen. Lisää Certbot-arkisto, päivitä ja asenna Certbot:

 sudo add-apt-repository ppa:certbot/certbot 
sudo apt update
sudo apt-get install python3-certbot-apache

Muuta hakemistoja ja luo uusi tiedosto nanolla:

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

Liitä uuteen tiedostoon seuraava ja muista kopioida oma verkkotunnuksesi nimi:

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

Tallenna ja poistu nanosta Ctrl + O , sitten Ctrl + X , ja ota uusi conf-tiedosto käyttöön:

 sudo a2ensite gitea.conf

Käynnistä Apache uudelleen:

 sudo service apache2 restart

Suorita Certbot:

 sudo certbot

…ja valitse verkkotunnuksesi luettelosta. Certbot hakee ja asentaa varmenteita ja avaimia. Kun palaat kehotteeseen, käynnistä Apache uudelleen:

 sudo service apache2 restart

Gitea-ilmentymän asetukset

Voit nyt käydä Gitea-esiintymässä selaimessa osoitteessa osoitteessa https://your-domain-name.tld . Voit asettaa tietokannan tyypin, salasanan ja muut muuttujat ensimmäisessä osiossa. Nämä ovat docker-compose -tiedostossa määrittämiäsi arvoja, ja ne on jo täytetty, joten niitä ei tarvitse muuttaa.

Sisään Yleiset asetukset , aseta sivuston otsikko sopivaan, Palvelimen verkkotunnus tulee olla verkkotunnuksesi nimi ja SSH-palvelimen portti on asetettava 222 . Perus-URL-osoitteen tulee olla verkkotunnuksesi nimi, mukaan lukien 'HTTPS://'.

Kun olet valmis, paina isoa sinistä Asenna Gitea -painiketta. Sinua tervehtii iso vihreä kuppi teetä ja mitä tahansa nimeä ja etanaa, jonka annoit tapaukselle. Luo ensimmäinen käyttäjä napsauttamalla sivun oikeasta yläkulmasta Rekisteröidy ja syötä tietosi. Onnittelut!

Jos haluat estää muita rekisteröitymästä ja ylläpitämästä omia tietovarastoitaan Git-palvelimellasi, sinun on muokattava app. ini tiedosto. Jos loit alun perin oman opas hakemistossa / (juuri)hakemistoon, kirjoita:

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

Vieritä alas palveluosioon ja määritä DISABLE_REGISTRATION totta.

  gitea diable -rekisteröinnin arvoksi on asetettu tosi

Tallenna ja poistu nanosta Ctrl + O , sitten Ctrl + X, käynnistä sitten säiliöt uudelleen:

 docker-compose downdocker-compose up -d

Gitean käyttö

Jos olet koskaan käyttänyt GitHubia, olet heti kotonasi Giteassa. Kun kirjaudut sisään, näet, ettei arkistoita ole saatavilla. Luo sellainen napsauttamalla + Merkitse sivun oikealle puolelle ja anna sille järkevä nimi.

  gitea alkuperäisen arkiston luominen

Voit halutessasi tehdä arkiston yksityiseksi valitsemalla valintaruudun tai jättää sen avoimeksi maailman nähtäväksi. Valitse valintaruutu alustaaksesi readme-tiedostolla ja napsauta sitten Luo arkisto luodaksesi ensimmäisen arkiston! Voit tehdä ja sitoa muutoksia, ladata tiedostoja ja muokata aivan kuin se olisi GitHub.

Klikkaa SSH kopioidaksesi osoitteen, et voi kloonata tietovarastoja paikalliselle koneellesi, jolloin saat virheilmoituksen: 'Varmista, että sinulla on oikeat käyttöoikeudet ja että arkisto on olemassa'. Sinun on ensin lisättävä paikallisen koneen SSH-avain Giteaan. Tee tämä kopioimalla tulos kohteesta:

 cat ~/.ssh/id_rsa.pub

Napsauta Gitean verkkokäyttöliittymässä profiilikuvaasi ja valitse sitten asetukset > SSH/GPG-avaimet . Klikkaa Lisää avain , ja liitä juuri kopioimasi avain.

  lisää ssh-avain giteaan

Voit nyt olla vuorovaikutuksessa oman Git-arkistosi kanssa omalla Git-palvelimellasi omalla Raspberry Pi:lläsi!

Käytä Gitea-esiintymääsi loistavien ohjelmistoprojektien luomiseen

Git on mahtava työkalu upeiden projektien yhteistyöhön, mutta jopa ilman tiimiä se on loistava oman työnkulkusi järjestämiseen ja upeiden ohjelmistojen tai konfiguraatioiden luomiseen. Sen avulla voit seurata tiedostojasi, kun opit uutta ohjelmointikieltä tai muokkaat työpöytäjärjestelmääsi parhaaksi.