Installare Gitea: Instanza Self-Hosted per Git

Avete l’impressione di avere troppo codice sparso per il vostro SSD? Volete condividere elaborati e cartelle piene di codice che non toccate da anni? Odiate GitHub? Un buon backup del vostro codice tramite Git potrebbe fare al caso vostro.

Gitea è un progetto open source che ti permette di creare la tua istanza personale di Git server, accessibile con una interfaccia online che ricorda molto quella di Gitlab o Github. In questo post, andremo ad illustrare come è possibile installare Gitea e incominciare a caricare i vostri progetti.

Caratteristiche

Gitea si prefigge di essere il miglior applicativo per velocità, portabilità e leggerezza per iniziare a hostare un servizio Git. Con il linguaggio di programmazione Go, è possibile ottenere questo dato che supporta la distribuzione di binari indipendenti dall’architettura che si vuole ottenere. Questo include Linux, MacOS e Windows, ma anche altre architetture come ARM e PowerPC.

Come caratteristiche principali troviamo:

Come requisiti, Gitea non necessita di particolari configurazioni hardware. Sono sufficienti 2 core CPU e 1 GB di RAM per un server Git adatto ad un piccolo team (10 utenti), anche se i requisiti minimi funzionali sono 256 MB di memoria libera e qualche GB su SSD. Un Raspberry Pi 3 potrebbe fare al caso vostro.

Installazione

Scarichiamo l’ultima versione di Gitea tramite wget:

wget -O gitea https://dl.gitea.io/gitea/1.15.9/gitea-1.15.9-linux-amd64
chmod +x gitea

Verifichiamo il binario scaricato, utilizzando gpg. Questo consente all’utente di verificare l’integrità del binario e soprattutto che il binario provenga esclusivamente dal team Gitea.

gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-1.15.9-linux-amd64.asc gitea-1.15.9-linux-amd64

Accertiamoci di avere installato la versione corretta di Git.

git --version

Infine, creiamo un nuovo utente adibito solo a Gitea chiamato git. In questo modo, Gitea non sarà eseguito dal nostro utente (che potrebbe avere privilegi elevati), ma da git con permessi solo alla cartella in cui ci saranno i file di Gitea.

adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

Creiamo le cartelle per Gitea:

mkdir -p /var/lib/gitea/{custom,data,log}

Impostiamo correttemente i permessi per il nuovo utente creato git.

chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/

Creiamo una nuova directory che conterrà i file di configurazione per gitea.

mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

È buona norma impostare i permessi a 640 (ovvero di sola lettura) dei file di configurazione dopo che il server di Gitea ha finito con l’installazione.

Opzionale: imposta la directory di Gitea attraverso il comando export GITEA_WORK_DIR=/var/lib/gitea/.

Copiamo il binario di gitea, tramite il comando cp gitea /usr/local/bin/gitea ed eseguiamolo.

GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini

Molto semplice e indolore! Il server di Gitea vi aspetterà sulla porta 3000 (di default) per iniziare la configurazione. Seguite le istruzioni e Gitea vi guiderà in modo autonomo al mondo di Git!

Vi rimando alla documentazione di Gitea per ulteriori informazioni sul progetto.