Git è un sistema di controllo della versione utilizzato da sviluppatori di software, programmatori e armeggiatori per collaborare e distribuire progetti open source. Utilizzando Git, puoi gestire progetti di qualsiasi dimensione, inserire modifiche e unioni di codice e consentire agli utenti di clonare i tuoi repository sulle proprie macchine. L'ecosistema open source funziona su Git e molti dei progetti presenti su MakeUseOf.com prevedono l'utilizzo di risorse da GitHub. Con Gitea, puoi ospitare i tuoi repository Git completamente funzionali su un Raspberry Pi a casa tua.
Perché ospitare il proprio servizio Git su Raspberry Pi invece di utilizzare GitHub?
Con 55 milioni di utenti, GitHub è il più grande repository di software libero e open source sulla Terra, ma il suo attuale proprietario, Microsoft, non è una scelta naturale per il ruolo di custode. I precedenti amministratori delegati dell'azienda hanno descritto Linux e la General Public License come "un cancro" e la maggior parte dei prodotti Microsoft sono proprietari e closed source.
La proprietà di Microsoft ha anche visto GitHub esplorare alcune tecnologie eticamente dubbie, in particolare con GitHub Copilot, uno strumento di intelligenza artificiale per aiutare i programmatori a generare codice. Copilot è stato addestrato sui dati di GitHub, in possibile violazione dei termini delle licenze Creative Commons utilizzate dai programmatori.
Utilizzando GitHub, gli sviluppatori stanno creando un altro punto di strozzatura in cui l'innovazione può essere soffocata, indebolita e soggetta a frivole interferenze.
Gitea ti consente di configurare il tuo server Git su Raspberry Pi
Gitea è un fork di Gogs ed è una soluzione di hosting di codice leggera gestita dalla comunità scritta in Go e pubblicata con licenza MIT. Mira ad avere un modello di sviluppo più aperto e veloce rispetto al suo predecessore e funzionerà su macchine con risorse anche modeste, come un Raspberry Pi. Potrai lavorare sui tuoi dotfile, ISO di Ubuntu personalizzate, script Bash e utilità Java e Python senza temere che siano soggetti a rimozione DMCA, vengano utilizzati per addestrare software nefasto o siano altrimenti fuori dal tuo controllo.
Come installare Gitea sul tuo Raspberry Pi
Gitea viene fornito con diversi metodi di installazione, ma il più semplice è tramite Docker. Se non li hai già in esecuzione sul tuo Raspberry Pi, installare Docker e Docker Compose Ora.
I file che memorizzi nel tuo server Gitea occuperanno potenzialmente molto spazio, quindi ti consigliamo utilizzando la memoria esterna con il tuo Raspberry Pie usandolo come percorso per l'installazione di Gitea.
Connettiti al tuo Pi tramite SSH, quindi vai alla posizione in cui desideri installare Gitea e crea una nuova directory, quindi spostati in essa:
mkdir gitea
CD gitea
Crea un nuovo file con nano:
nanodocker-componi.yml
...e incollare il seguente codice al suo interno:
versione: "3"reti:
gita:
esterno: falso
Servizi:
server:
immagine: gitea/gitea: ultimo
nome_contenitore: gitea
ambiente:
- USER_UID=1000
- GID_UTENTE=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db: 3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
riavvio: sempre
reti:
- gitaa
volumi:
- ./gitea:/dati
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
porti:
- "3000:3000"
- "222:22"
dipende da:
- db
DB:
immagine: mysql: 8
riavvio: sempre
ambiente:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
reti:
- gitaa
volumi:
- ./mysql:/var/lib/mysql
Cambia i fusi orari nella tua locale e scegli una password complessa per il tuo database, quindi salva ed esci da nano con Ctrl+O, Poi Ctrl+X.
Accedere:
docker-componi -d
…per richiamare la finestra mobile-componi in modalità separata. Docker-compose estrarrà più immagini per Gitea e Maria DB e imposterà i contenitori. A seconda della velocità della tua connessione, questo potrebbe richiedere del tempo.
Quando torni al prompt dei comandi:
finestra mobile-componi ps
…dovrebbe mostrare "gitea" e "gitea_db_1" come "up". Ora puoi visitare la pagina di configurazione iniziale per il tuo sito Gitea all'indirizzo tuo.pi.local.ip.indirizzo: 3000.
Non modificare ancora nulla. Se hai intenzione di accedere alla tua istanza Gitea su Internet, devi prima fare un po' più di preparazione.
Accedi alla tua istanza Gitea tramite Internet
Vuoi essere in grado di digitare un URL standard per poter raggiungere la tua istanza Gitea, quindi avrai bisogno di Apache per gestire il proxy. Installa Apache con:
sudo apt installare Apache2
Ora, avvia e abilita Apache con i seguenti comandi:
sudo systemctl inizio Apache2
sudo systemctl abilitare Apache2
Abilita i moduli proxy di Apache con:
proxy sudo a2enmod
sudo a2enmod proxy_http
Scegli un nome di dominio o un nome di sottodominio da un rispettabile cancelliere. Quindi, dalla pagina delle impostazioni del tuo registrar, trova le opzioni "DNS avanzato" e aggiungine una nuova UN documentazione. Impostare il Ospite campo a "@" e il campo del valore al tuo indirizzo IP statico. Imposta il valore TTL (Time to Lease) il più basso possibile, quindi salva.
Apri la pagina di amministrazione del tuo router e trova una sezione intitolata entrambi Port forwarding, Mappatura dei porti, O Gestione del porto.
Crea una nuova voce per le richieste HTTP. Imposta sia la porta locale che quella pubblica su 80e l'indirizzo IP locale all'indirizzo IP del tuo Raspberry Pi.
Per le richieste HTTPS è necessaria una seconda porta aperta. Imposta sia la porta locale che quella pubblica su 443, e ancora, l'indirizzo IP locale all'indirizzo IP del tuo Pi.
Infine, hai bisogno di una porta aperta per le richieste SSH al tuo server Git. Imposta sia la porta locale che quella pubblica su 222e l'indirizzo IP locale all'indirizzo IP del tuo Pi.
Utilizzerai Certbot per ottenere certificati e chiavi di sicurezza. Aggiungi il repository Certbot, aggiorna, quindi installa Certbot:
sudo add-apt-repository ppa: certbot/certbot
sudo apt aggiornamento
sudo apt-Ottenere installa python3-certbot-apache
Cambia directory e crea un nuovo file con nano:
CD /etc/apache2/sites-available/
nanogitea.conf
Nel nuovo file, incolla quanto segue, assicurandoti di copiare il tuo nome di dominio:
<Host virtuale *:80>ServerName tuo-nome-dominio.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost attivato</VirtualHost>
Salva ed esci da nano con Ctrl + O, Poi Ctrl + Xe abilita il tuo nuovo file conf con:
sudoa2ensitegitea.conf
Riavvia Apache:
sudo service apache2 riavviare
Esegui Certbot con:
sudocertbot
…e seleziona il tuo nome di dominio da un elenco. Certbot recupererà e installerà certificati e chiavi. Quando torni al prompt, riavvia nuovamente Apache:
sudo service apache2 riavviare
Configurazione dell'istanza Gitea
Ora puoi visitare la tua istanza Gitea in un browser con all'indirizzo https://your-domain-name.tld. Sarai in grado di impostare il tipo di database, la password e altre variabili nella prima sezione. Questi saranno i valori specificati nel file docker-compose e dovrebbero essere già compilati, quindi non è necessario modificarli.
In impostazioni generali, impostare il titolo del sito a uno adatto, Dominio del server dovrebbe essere il tuo nome di dominio e Porta del server SSH deve essere impostato su 222. L'URL di base deve essere il tuo nome di dominio, incluso "HTTPS://".
Quando hai finito, colpisci il grande blu Installa Gitea pulsante. Sarai accolto da una grande tazza di tè verde e qualunque nome e lumaca tu abbia dato all'istanza. Per creare il tuo primo utente, clicca su registrati in alto a destra della pagina, quindi inserisci i tuoi dati. Congratulazioni!
Per impedire a chiunque altro di registrarsi e ospitare i propri repository sul tuo server Git, devi modificare il file app.ini file. Se inizialmente hai creato il tuo file gitea directory nel / directory (radice), immettere:
nano /gitea/gitea/gitea/conf/app.ini
Scorri verso il basso fino alla sezione del servizio e imposta DISABLE_REGISTRATION a vero.
Salva ed esci da nano con Ctrl + O, Poi Ctrl + X, quindi riavvia i tuoi contenitori:
docker-compose downdocker-compose up -d
Utilizzando Gitea
Se hai mai usato GitHub, ti sentirai subito a casa in Gitea. Dopo aver effettuato l'accesso, vedrai che non ci sono repository disponibili. Creane uno cliccando sul + firmare verso destra della pagina e dargli un nome sensato.
Puoi scegliere di rendere privato il repository selezionando la casella o lasciarlo aperto affinché il mondo lo veda. Selezionare la casella per inizializzare con un file readme, quindi fare clic su Crea deposito per creare il tuo primo repository! Puoi apportare e confermare modifiche, caricare file e modificare proprio come se fosse GitHub.
Clicca su SSH per copiare l'indirizzo e non sarai in grado di clonare i repository sul tuo computer locale, ricevendo invece un errore: "Assicurati di avere i diritti di accesso corretti e che il repository esista". Devi prima aggiungere la chiave SSH della tua macchina locale a Gitea. Per fare ciò, copia l'output da:
gatto ~/.ssh/id_rsa.pub
Nella tua interfaccia web Gitea, fai clic sull'immagine del tuo profilo, quindi scegli impostazioni> Chiavi SSH/GPG. Clicca su Aggiungi chiavee incollare la chiave appena copiata.
Ora puoi interagire con il tuo repository Git sul tuo server Git sul tuo Raspberry Pi!
Usa la tua istanza Gitea per creare fantastici progetti software
Git è uno strumento fantastico per collaborare a progetti straordinari, ma anche senza un team è fantastico per organizzare il proprio flusso di lavoro e creare software o configurazioni favolosi. Usalo per tenere traccia dei tuoi file mentre impari un nuovo linguaggio di programmazione o personalizzi il tuo sistema desktop per renderlo il migliore possibile.