- „Gitea“ yra lengva „GitLab“ ir „GitHub“ alternatyva, kuri sunaudoja labai mažai sistemos išteklių.
- Diegimas pagrįstas vykdomuoju dvejetainiu failu, valdomu kaip paslauga per „SystemD“.
- Norint užtikrinti saugią prieigą per HTTPS, būtina naudoti atvirkštinį tarpinį serverį su „Nginx“.
- Tai leidžia perkelti esamas saugyklas iš kitų platformų, išlaikant problemas ir žymas.

Jei pavargote pasikliauti tokių gigantų kaip „GitHub“ ar „GitLab“ taisyklėmis, kainomis ar prieinamumu, savo infrastruktūros kūrimas yra išeitis. Turėdami „Git“ serverį namuose ar biure, gausite raktą į karalystę: absoliučią kodo kontrolę , visišką prieigos valdymą ir ramybę, nes jūsų privačioms saugykloms nėra trečiųjų šalių apribojimų.
Tarp visų galimų variantų „Gitea“ išsiskiria kaip tikras perlas. Tai įrankis, parašytas „Go“ kalba, todėl jis yra neįtikėtinai lengvas ir greitas , idealiai tinkantis tiems, kurie nenori skirti 16 GB RAM „Git“ serveriui. Skirtingai nuo „GitLab“, kuris yra funkcijų gausa pasižymintis, bet daug išteklių reikalaujantis vandenynų laineris, „Gitea“ yra tarsi greitaeigis kateris: jis eina tiesiai prie reikalo, sunaudoja labai mažai išteklių ir siūlo labai pažįstamą sąsają visiems, kurie naudojosi „GitHub“.
Greitas palyginimas: „Gitea“, „GitLab“ ir „Forgejo“

Prieš pradedant diegimą, verta žinoti, į ką įsitraukiate. „GitLab“ yra esminis įmonės pasirinkimas, idealiai tinkantis didelėms komandoms, kurioms reikalinga integruota CI/CD, tačiau jai reikalinga galinga įranga. Kita vertus, „Gitea“ yra geriausias pasirinkimas nedideliems serveriams ar asmeniniams projektams dėl labai mažo atminties kiekio. Galiausiai yra „Forgejo“ – „Gitea“ bendruomenės atšaka; jei esate laisvos programinės įrangos puristas ir teikiate pirmenybę atviram valdymui be korporatyvinių poteksčių, tai yra alternatyva jums.
Ko jums reikia prieš pradedant

Kad viskas veiktų sklandžiai, įsitikinkite, kad turite „Linux“ serverį („Ubuntu“, „Debian“ arba „Rocky Linux“) su root prieiga. Taip pat būtina, kad kompiuteryje būtų įdiegta „Git“, ir nors „Gitea“ leidžia naudoti „SQLite“, gamybinėms aplinkoms labai rekomenduojama naudoti „PostgreSQL“ arba „MariaDB“, kad būtų užtikrintas duomenų stabilumas.
Sistemos pagrindo paruošimas

„Gitea“ paleidimas kaip root vartotojui nėra gera idėja dėl saugumo priežasčių. Geriausia sukurti skirtą vartotoją. Tai galite padaryti paleisdami komandą adduser --system --shell /bin/bash --group --home /home/gitea giteaBūtina naudoti /bin/bash kaip apvalkalas nes „Gitea“ turi sąveikauti su „git-shell“ per SSH. Jei dar neturite įdiegtos „Git“, paprastas apt install git greitai išspręs problemą.
Dvejetainių failų diegimas ir aplankų struktūra

„Gitea“ galima įdiegti keliais būdais, tačiau dvejetainis failas yra paprasčiausias. Turėtumėte rasti naujausią stabilią versiją oficialioje svetainėje ir atsisiųsti ją naudodami [method/method]. wget en /usr/local/bin/giteaatiduodamas vėliau vykdyti teises su chmod +xKad programa veiktų tinkamai, reikia sukurti specialių katalogų seriją: /etc/gitea konfigūracijai ir /var/lib/gitea pasirinktiniams duomenims, žurnalams ir failams. Nepamirškite pakoreguoti nuosavybės teisės (chown) kad vartotojas „gitea“ galėtų jiems rašyti.
Duomenų bazės konfigūracija
Jei pasirinksite „PostgreSQL“, turėsite įdiegti paketą ir sukurti konkretų vaidmenį su stipriu slaptažodžiu, be duomenų bazės. giteadb su UTF8 koduote. Jei pageidaujate „MariaDB“, procesas yra panašus: sukuriate duomenų bazę ir vartotoją, užtikrindami, kad saugojimo variklis yra „InnoDB“ ir kad serveris klausosi 3306 prievado.
Automatizavimas naudojant SystemD
Kad nereikėtų rankiniu būdu paleisti „Gitea“ kiekvieną kartą paleidus serverį iš naujo, geriausia sukurti disko failą /etc/systemd/system/gitea.serviceŠis failas sistemai praneša, kad „Gitea“ turi būti paleista kaip paslaugaapibrėžiant vartotoją, grupę ir dvejetainį kelią. Sukūrus, tiesiog paleiskite systemctl enable --now gitea ir serveris pagal numatytuosius nustatymus pradės klausytis 3000 prievado.
Pirmasis kontaktas su žiniatinklio sąsaja
Al entrar lt http://tu-ip:3000Tada pamatysite sąrankos vedlį. Čia prijungsite duomenų bazę (nurodant pagrindinį kompiuterį, vartotojo vardą ir slaptažodį) ir apibrėšite bendrieji svetainės nustatymai, pvz., egzemplioriaus pavadinimą ir bazinį URL. Taip pat laikas sukonfigūruoti SSH serverį ir nuspręsti, ar norite, kad galėtų registruotis visi, ar norite... išjungti viešąjį registravimą kad serveris išliktų privatus.
Saugumas ir profesionali prieiga naudojant „Nginx“
Prieiga prie „Gitea“ per 3000 prievadą yra neefektyvi ir nesaugi. Idealus sprendimas – nustatyti atvirkštinį tarpinį serverį naudojant „Nginx“ . Tai leidžia vartotojams pasiekti svetainę per domeną (pvz., git.jūsųdomenas.com) ir užtikrina, kad visas srautas būtų šifruojamas naudojant „Let's Encrypt SSL“ sertifikatus . „Nginx“ konfigūracijoje tiesiog nukreipkite srautą iš 443 prievado į „Gitea“ 3000 prievadą, pridėdami „X-Forwarded-For“ antraštes, kad neprarastumėte tikrojo kliento IP adreso.
Vartotojų valdymas ir kodo perkėlimas
Jei išjungėte atvirą registravimą, pirmąjį administratorių galite sukurti naudodami komandinę eilutę su komanda gitea admin user createPatekę į vidų, galite pridėti savo viešieji SSH raktai vartotojo profilyje, kad būtų galima klonuoti saugyklas kiekvieną kartą neįvedant slaptažodžio. Jei jau turite kodą „GitHub“, „Gitea“ turi integruotas migracijos įrankis Jis automatiškai importuoja ne tik kodą, bet ir problemas bei žymas.
Priežiūra ir derinimas
„Gitea“ priežiūra yra neįtikėtinai paprasta. Norėdami atnaujinti, tiesiog atsisiųskite naują dvejetainį failą, pakeiskite senąjį ir paleiskite paslaugą iš naujo. Atsarginėms kopijoms naudokite komandą gitea dump yra tavo geriausias draugas, nes jis sukuria suspaustas failas su viskuoDuomenų bazė, konfigūracija ir saugyklos. El. paštui galite sukonfigūruoti išorinį SMTP serverį (pvz., „Gmail“) arba įdiegti „Postfix“ serveryje, kad gautumėte pranešimus apie užklausas ir įspėjimus.
Įdiegus „Gitea“, galite turėti patikimą, lengvą ir visiškai privačią versijų valdymo platformą, panaikinančią priklausomybę nuo išorinių paslaugų, naudojant dvejetainiais failais pagrįstą diegimą, optimizuotą duomenų bazę ir atvirkštinį tarpinį serverį, kuris garantuoja srauto saugumą per HTTPS.