- Gitea on kevyt vaihtoehto GitLabille ja GitHubille, joka kuluttaa hyvin vähän järjestelmäresursseja.
- Asennus perustuu suoritettavaan binääritiedostoon, jota hallitaan palveluna SystemD:n kautta.
- Käänteisen välityspalvelimen käyttö Nginxin kanssa on välttämätöntä turvallisen HTTPS-yhteyden mahdollistamiseksi.
- Se mahdollistaa olemassa olevien tietovarastojen siirtämisen muilta alustoilta säilyttäen samalla ongelmat ja tunnisteet.

Jos olet kyllästynyt luottamaan jättiläisten, kuten GitHubin tai GitLabin, sääntöihin, kustannuksiin tai saatavuuteen, oman infrastruktuurin rakentaminen on oikea tie. Git-palvelimen omistaminen kotona tai omassa toimistossasi antaa sinulle avaimet valtakuntaan: täydellisen hallinnan koodiin , täydellisen pääsynhallinnan ja mielenrauhan, kun yksityisillä repositorioillasi ei ole kolmansien osapuolten rajoituksia.
Kaikista saatavilla olevista vaihtoehdoista Gitea erottuu joukosta helmenä. Se on Go-kielellä kirjoitettu työkalu, mikä tekee siitä uskomattoman kevyen ja nopean – ihanteellisen niille, jotka eivät halua omistaa 16 Gt RAM-muistia Git-palvelimelle. Toisin kuin GitLab, joka on ominaisuuksiltaan rikas mutta resursseja kuluttava valtamerialus, Gitea on kuin pikavene: se menee suoraan asiaan, kuluttaa hyvin vähän resursseja ja tarjoaa erittäin tutun käyttöliittymän kaikille, jotka ovat käyttäneet GitHubia.
Pikavertailu: Gitea, GitLab ja Forgejo

Ennen asennuksen aloittamista on syytä tietää, mihin olet ryhtymässä. GitLab on yrityskäyttöön tarkoitettu vaihtoehto, ihanteellinen suurille tiimeille, jotka tarvitsevat integroidun CI/CD:n, mutta se vaatii tehokasta laitteistoa. Gitea puolestaan on paras valinta vaatimattomille palvelimille tai henkilökohtaisille projekteille erittäin pienen muistintarpeensa ansiosta. Lopuksi on Forgejo, Gitean yhteisöhaara; jos olet vapaiden ohjelmistojen puristi ja pidät avoimesta hallinnasta ilman yritysmaailman sävyjä, tämä on sinulle sopiva vaihtoehto.
Mitä tarvitset ennen kuin aloitat

Jotta kaikki sujuu ongelmitta, varmista, että sinulla on Linux-palvelin (joko Ubuntu, Debian tai Rocky Linux) ja pääkäyttäjän oikeudet. On myös tärkeää, että Git on asennettu koneelle, ja vaikka Gitea sallii SQLiten käytön, tuotantoympäristöissä suositellaan PostgreSQL:ää tai MariaDB:tä tietojen vakauden takaamiseksi.
Järjestelmän maan valmistelu

Gitean käyttäminen root-käyttäjänä ei ole hyvä idea turvallisuussyistä. On parasta luoda oma käyttäjä. Voit tehdä tämän suorittamalla komennon adduser --system --shell /bin/bash --group --home /home/gitea giteaOn tärkeää käyttää /bin/bash komentotulkkina koska Gitean on oltava vuorovaikutuksessa git-shellin kanssa SSH:n kautta. Jos sinulla ei vielä ole Gitiä asennettuna, yksinkertainen apt install git ratkaisee ongelman nopeasti.
Binaariasennus ja kansiorakenne

Gitean voi asentaa monella tapaa, mutta binääritiedosto on yksinkertaisin. Sinun tulisi etsiä uusin vakaa versio sen viralliselta verkkosivustolta ja ladata se käyttämällä [method/method]. wget en /usr/local/bin/giteaantaa sen myöhemmin suorita käyttöoikeudet komennolla chmod +xJotta ohjelma toimisi oikein, on luotava sarja tiettyjä hakemistoja: /etc/gitea konfigurointia ja /var/lib/gitea mukautetuille tiedoille, lokeille ja tiedostoille. Muista säätää ominaisuusoikeudet (chown) jotta käyttäjä gitea voi kirjoittaa niille.
Tietokannan konfigurointi
Jos valitset PostgreSQL:n, sinun on asennettava paketti ja luotava tietokannan lisäksi erityinen rooli vahvalla salasanalla. giteadb UTF8-koodauksella. Jos käytät mieluummin MariaDB:tä, prosessi on samanlainen: luot tietokannan ja käyttäjän varmistaen, että tallennusmoottori on InnoDB ja että palvelin kuuntelee porttia 3306.
Automaatio SystemD:llä
Jotta Giteaa ei tarvitse käynnistää manuaalisesti joka kerta palvelimen uudelleenkäynnistyksen yhteydessä, on parasta luoda asematiedosto /etc/systemd/system/gitea.serviceTämä tiedosto kertoo järjestelmälle, että Giteaa on käytettävä palvelunamäärittämällä käyttäjän, ryhmän ja binääripolun. Kun se on luotu, suorita se systemctl enable --now gitea ja palvelin alkaa kuunnella oletuksena porttia 3000.
Ensimmäinen kosketus web-käyttöliittymään
Tullessaan http://tu-ip:3000Tämän jälkeen näkyviin tulee ohjattu asennustoiminto. Tässä vaiheessa yhdistät tietokantaan (määrittämällä isännän, käyttäjätunnuksen ja salasanan) ja määrität yleiset sivuston asetukset, kuten instanssin nimi ja perus-URL. On myös aika määrittää SSH-palvelin ja päättää, haluatko kenen tahansa voivan rekisteröityä vai haluatko... poista julkinen lokikirjaus käytöstä pitääkseen palvelimen yksityisenä.
Tietoturva ja ammattimainen käyttöoikeus Nginxin avulla
Gitean käyttö portin 3000 kautta on tehotonta ja turvatonta. Ihanteellinen ratkaisu on käänteisen välityspalvelimen määrittäminen Nginxin avulla . Tämä antaa käyttäjille mahdollisuuden käyttää sivustoa verkkotunnuksen (esim. git.omaverkkotunnus.com) kautta ja varmistaa, että kaikki liikenne salataan Let's Encrypt SSL -varmenteilla . Nginx-kokoonpanossa liikenne ohjataan yksinkertaisesti portista 443 Gitean porttiin 3000 lisäämällä X-Forwarded-For-otsikot, jotta asiakkaan todellinen IP-osoite ei katoa.
Käyttäjien hallinta ja koodin migraatio
Jos olet poistanut avoimen lokikirjauksen käytöstä, voit luoda ensimmäisen järjestelmänvalvojan komentoriviltä komennolla gitea admin user createKun olet sisällä, voit lisätä julkiset SSH-avaimet käyttäjäprofiilissa kloonataksesi repositorioita ilman salasanan syöttämistä joka kerta. Jos sinulla on jo koodia GitHubissa, Gitealla on integroitu siirtotyökalu Se tuo automaattisesti paitsi koodin myös ongelmat ja tagit.
Huolto ja viritys
Gitean ylläpito on uskomattoman helppoa. Päivitä lataamalla uusi binääritiedosto, korvaamalla vanha ja käynnistämällä palvelu uudelleen. Varmuuskopioita varten käytä komentoa gitea dump on paras ystäväsi, koska se luo pakattu tiedosto, jossa kaikki onTietokanta, kokoonpano ja tietovarastot. Sähköpostia varten voit määrittää ulkoisen SMTP-palvelimen (kuten Gmailin) tai asentaa Postfixin palvelimelle, jotta saat ilmoituksia pull-pyynnöistä ja hälytyksistä.
Gitean käyttöönotto mahdollistaa vankan, kevyen ja täysin yksityisen versionhallinta-alustan, joka poistaa riippuvuuden ulkoisista palveluista binääripohjaisen asennuksen, optimoidun tietokannan ja käänteisen välityspalvelimen avulla, joka takaa liikenteen turvallisuuden HTTPS:n kautta.