- Το Gitea είναι μια ελαφριά εναλλακτική λύση σε σχέση με τα GitLab και GitHub που καταναλώνει πολύ λίγους πόρους συστήματος.
- Η εγκατάσταση βασίζεται σε ένα εκτελέσιμο δυαδικό αρχείο που διαχειρίζεται ως υπηρεσία μέσω του SystemD.
- Η χρήση ενός reverse proxy με το Nginx είναι απαραίτητη για την ενεργοποίηση ασφαλούς πρόσβασης μέσω HTTPS.
- Επιτρέπει τη μετεγκατάσταση υπαρχόντων αποθετηρίων από άλλες πλατφόρμες, διατηρώντας παράλληλα προβλήματα και ετικέτες.

Αν έχετε κουραστεί να βασίζεστε στους κανόνες, το κόστος ή τη διαθεσιμότητα γιγάντων όπως το GitHub ή το GitLab, η δημιουργία της δικής σας υποδομής είναι ο δρόμος προς τα εμπρός. Έχοντας έναν διακομιστή Git στο σπίτι ή στο γραφείο σας, έχετε τα κλειδιά για το βασίλειο: απόλυτο έλεγχο του κώδικα , πλήρη διαχείριση πρόσβασης και την ηρεμία που σας προσφέρει η μη ύπαρξη περιορισμών τρίτων στα ιδιωτικά σας αποθετήρια.
Ανάμεσα σε όλες τις διαθέσιμες επιλογές, το Gitea ξεχωρίζει ως ένα διαμάντι. Είναι ένα εργαλείο γραμμένο σε Go, γεγονός που το καθιστά απίστευτα ελαφρύ και γρήγορο , ιδανικό για όσους δεν θέλουν να αφιερώσουν 16 GB μνήμης RAM σε έναν διακομιστή Git. Σε αντίθεση με το GitLab, το οποίο είναι ένα υπερωκεάνιο πλούσιο σε λειτουργίες αλλά απαιτητικό σε πόρους, το Gitea είναι σαν ταχύπλοο: πηγαίνει κατευθείαν στο θέμα, καταναλώνει πολύ λίγους πόρους και προσφέρει μια πολύ οικεία διεπαφή για όποιον έχει χρησιμοποιήσει το GitHub.
Γρήγορη σύγκριση: Gitea, GitLab και Forgejo

Πριν ξεκινήσετε την εγκατάσταση, αξίζει να μάθετε τι σας ενδιαφέρει. Το GitLab είναι η κατεξοχήν επιλογή για επιχειρήσεις, ιδανική για μεγάλες ομάδες που χρειάζονται ενσωματωμένο CI/CD, αλλά απαιτεί ισχυρό υλικό. Το Gitea, από την άλλη πλευρά, είναι η καλύτερη επιλογή για μικρούς διακομιστές ή προσωπικά έργα λόγω του πολύ μικρού αποτυπώματος μνήμης που καταλαμβάνει. Τέλος, υπάρχει το Forgejo, ένα κοινοτικό fork του Gitea. Αν είστε λάτρης του ελεύθερου λογισμικού και προτιμάτε την ανοιχτή διακυβέρνηση χωρίς εταιρικές χροιές, αυτή είναι η εναλλακτική λύση για εσάς.
Τι χρειάζεστε πριν ξεκινήσετε

Για να διασφαλίσετε ότι όλα θα λειτουργούν ομαλά, βεβαιωθείτε ότι έχετε έναν διακομιστή Linux (είτε Ubuntu, Debian είτε Rocky Linux) με πρόσβαση root. Είναι επίσης απαραίτητο να έχετε εγκατεστημένο το Git στον υπολογιστή και, ενώ το Gitea επιτρέπει τη χρήση του SQLite, για περιβάλλοντα παραγωγής, συνιστώνται ιδιαίτερα η PostgreSQL ή η MariaDB για να διασφαλιστεί η σταθερότητα των δεδομένων.
Προετοιμασία του εδάφους στο σύστημα

Η εκτέλεση του Gitea ως root δεν είναι καλή ιδέα για λόγους ασφαλείας. Είναι καλύτερο να δημιουργήσετε έναν αποκλειστικό χρήστη. Μπορείτε να το κάνετε αυτό εκτελώντας την εντολή adduser --system --shell /bin/bash --group --home /home/gitea giteaΕίναι απαραίτητο να χρησιμοποιήσετε /bin/bash ως κέλυφος επειδή το Gitea πρέπει να αλληλεπιδράσει με το git-shell μέσω SSH. Εάν δεν έχετε ήδη εγκατεστημένο το Git, ένα απλό apt install git θα λύσει γρήγορα το πρόβλημα.
Εγκατάσταση δυαδικών αρχείων και δομή φακέλων

Το Gitea μπορεί να εγκατασταθεί με διάφορους τρόπους, αλλά το δυαδικό αρχείο είναι το πιο απλό. Θα πρέπει να εντοπίσετε την πιο πρόσφατη σταθερή έκδοση στον επίσημο ιστότοπό του και να την κατεβάσετε χρησιμοποιώντας το [method/method]. wget en /usr/local/bin/giteaδίνοντάς το αργότερα εκτέλεση δικαιωμάτων με chmod +xΓια να λειτουργήσει σωστά το πρόγραμμα, πρέπει να δημιουργηθεί μια σειρά από συγκεκριμένους καταλόγους: /etc/gitea για διαμόρφωση και /var/lib/gitea για προσαρμοσμένα δεδομένα, αρχεία καταγραφής και αρχεία. Μην ξεχάσετε να προσαρμόσετε το δικαιώματα ιδιοκτησίας (chown) ώστε ο χρήστης gitea να μπορεί να γράψει σε αυτά.
Ρύθμιση παραμέτρων βάσης δεδομένων
Αν επιλέξετε PostgreSQL, θα χρειαστεί να εγκαταστήσετε το πακέτο και να δημιουργήσετε έναν συγκεκριμένο ρόλο με ισχυρό κωδικό πρόσβασης, εκτός από τη βάση δεδομένων. giteadb με κωδικοποίηση UTF8. Αν προτιμάτε το MariaDB, η διαδικασία είναι παρόμοια: δημιουργείτε τη βάση δεδομένων και τον χρήστη, διασφαλίζοντας ότι Η μηχανή αποθήκευσης είναι η InnoDB και ότι ο διακομιστής ακούει στη θύρα 3306.
Αυτοματοποίηση με SystemD
Για να αποφύγετε την ανάγκη χειροκίνητης εκκίνησης του Gitea κάθε φορά που κάνετε επανεκκίνηση του διακομιστή, είναι καλύτερο να δημιουργήσετε ένα αρχείο μονάδας δίσκου στο /etc/systemd/system/gitea.serviceΑυτό το αρχείο λέει στο σύστημα ότι Το Gitea πρέπει να εκτελείται ως υπηρεσίαορίζοντας τον χρήστη, την ομάδα και τη δυαδική διαδρομή. Μόλις δημιουργηθεί, απλώς εκτελέστε systemctl enable --now gitea και ο διακομιστής θα ξεκινήσει την ακρόαση, από προεπιλογή, στη θύρα 3000.
Η πρώτη επαφή με τη διεπαφή ιστού
Κατά την είσοδο http://tu-ip:3000Στη συνέχεια, θα συναντήσετε τον οδηγό εγκατάστασης. Εδώ συνδέετε τη βάση δεδομένων (καθορίζοντας τον κεντρικό υπολογιστή, το όνομα χρήστη και τον κωδικό πρόσβασης) και ορίζετε το γενικές ρυθμίσεις ιστότοπου, όπως το όνομα της παρουσίας και η βασική διεύθυνση URL. Είναι επίσης καιρός να ρυθμίσετε τον διακομιστή SSH και να αποφασίσετε αν θέλετε να μπορεί να εγγραφεί κάποιος ή αν προτιμάτε... απενεργοποίηση δημόσιας καταγραφής για να διατηρήσετε τον διακομιστή ιδιωτικό.
Ασφάλεια και επαγγελματική πρόσβαση με το Nginx
Η πρόσβαση στο Gitea μέσω της θύρας 3000 είναι αναποτελεσματική και μη ασφαλής. Η ιδανική λύση είναι να ρυθμίσετε ένα reverse proxy με το Nginx . Αυτό επιτρέπει στους χρήστες να έχουν πρόσβαση στον ιστότοπο μέσω ενός τομέα (π.χ., git.yourdomain.com) και διασφαλίζει ότι όλη η κίνηση είναι κρυπτογραφημένη χρησιμοποιώντας πιστοποιητικά SSL Let's Encrypt . Στη διαμόρφωση Nginx, απλώς ανακατευθύνετε την κίνηση από τη θύρα 443 στη θύρα 3000 του Gitea, προσθέτοντας τις κεφαλίδες X-Forwarded-For για να αποφύγετε την απώλεια της πραγματικής διεύθυνσης IP του πελάτη.
Διαχείριση χρηστών και μετεγκατάσταση κώδικα
Εάν απενεργοποιήσατε την ανοιχτή καταγραφή, μπορείτε να δημιουργήσετε τον πρώτο διαχειριστή χρησιμοποιώντας τη γραμμή εντολών με την εντολή gitea admin user createΜόλις μπείτε μέσα, μπορείτε να προσθέσετε το δικό σας δημόσια κλειδιά SSH στο προφίλ χρήστη για να κλωνοποιήσετε αποθετήρια χωρίς να εισάγετε τον κωδικό πρόσβασης κάθε φορά. Εάν έχετε ήδη κώδικα στο GitHub, το Gitea διαθέτει ενσωματωμένο εργαλείο μετεγκατάστασης Εισάγει αυτόματα όχι μόνο τον κώδικα, αλλά και τα προβλήματα και τις ετικέτες.
Συντήρηση και ρύθμιση
Η συντήρηση του Gitea είναι απίστευτα εύκολη. Για να ενημερώσετε, απλώς κατεβάστε το νέο δυαδικό αρχείο, αντικαταστήστε το παλιό και επανεκκινήστε την υπηρεσία. Για αντίγραφα ασφαλείας, χρησιμοποιήστε την εντολή gitea dump Είναι ο καλύτερός σου φίλος, επειδή δημιουργεί ένα συμπιεσμένο αρχείο με τα πάνταΒάση δεδομένων, διαμόρφωση και αποθετήρια. Για το email, μπορείτε να διαμορφώσετε έναν εξωτερικό διακομιστή SMTP (όπως το Gmail) ή να εγκαταστήσετε το Postfix στον διακομιστή για να λαμβάνετε ειδοποιήσεις για αιτήματα έλξης και ειδοποιήσεις.
Η υλοποίηση του Gitea σάς επιτρέπει να έχετε μια ισχυρή, ελαφριά και πλήρως ιδιωτική πλατφόρμα ελέγχου εκδόσεων, εξαλείφοντας την εξάρτηση από εξωτερικές υπηρεσίες μέσω μιας εγκατάστασης που βασίζεται σε δυαδικά αρχεία, μιας βελτιστοποιημένης βάσης δεδομένων και ενός αντίστροφου διακομιστή μεσολάβησης που εγγυάται την ασφάλεια της κυκλοφορίας μέσω HTTPS.