Come installare Gitea per avere un server Git locale

Ultimo aggiornamento: 3 settembre 2026
  • Gitea è un'alternativa leggera a GitLab e GitHub che consuma pochissime risorse di sistema.
  • L'installazione si basa su un file binario eseguibile gestito come servizio tramite SystemD.
  • L'utilizzo di un proxy inverso con Nginx è essenziale per consentire l'accesso sicuro tramite HTTPS.
  • Consente di migrare repository esistenti da altre piattaforme mantenendo problemi e tag.

Rack per server in un data center, che rappresentano l'infrastruttura di un server Git locale.

Se sei stanco di dipendere dalle regole, dai costi o dalla disponibilità di colossi come GitHub o GitLab, costruire la tua infrastruttura è la soluzione ideale. Avere un server Git a casa o in ufficio ti dà il controllo totale: controllo assoluto sul codice , gestione completa degli accessi e la tranquillità di non avere limitazioni di terze parti sui tuoi repository privati.

Tra tutte le opzioni disponibili, Gitea si distingue come una vera gemma. È uno strumento scritto in Go, il che lo rende incredibilmente leggero e veloce , ideale per chi non vuole dedicare 16 GB di RAM a un server Git. A differenza di GitLab, che è una nave da crociera ricca di funzionalità ma che consuma molte risorse, Gitea è come un motoscafo: va dritto al punto, consuma pochissime risorse e offre un'interfaccia molto familiare a chiunque abbia usato GitHub.

Confronto rapido: Gitea, GitLab e Forgejo

Ingegnere del software che configura un server utilizzando un laptop in una sala server.

Prima di addentrarci nell'installazione, è bene sapere cosa ci si aspetta. GitLab è la soluzione enterprise per eccellenza, ideale per team numerosi che necessitano di CI/CD integrato, ma richiede hardware potente. Gitea, d'altro canto, è la scelta migliore per server di dimensioni modeste o progetti personali grazie al suo ridotto consumo di memoria. Infine, c'è Forgejo, un fork della community di Gitea; se siete puristi del software libero e preferite una governance aperta senza connotazioni aziendali, questa è l'alternativa che fa per voi.

  Cos'è un server e come funziona: tipologie e caratteristiche

Cosa ti serve prima di iniziare

Computer portatile che visualizza righe di codice in un ambiente di lavoro moderno, ideale per illustrare la gestione di un repository Git.

Per garantire un funzionamento ottimale, è necessario disporre di un server Linux (Ubuntu, Debian o Rocky Linux) con accesso root. È inoltre fondamentale avere Git installato sulla macchina e, sebbene Gitea consenta l'utilizzo di SQLite, per gli ambienti di produzione si raccomanda vivamente l'utilizzo di PostgreSQL o MariaDB per garantire la stabilità dei dati.

Preparazione del terreno nel sistema

Primo piano di mani che programmano su una tastiera, a rappresentare lo sviluppo di software e l'utilizzo di Gitea.

Eseguire Gitea come root non è una buona idea per motivi di sicurezza. È meglio creare un utente dedicato. Puoi farlo eseguendo il comando adduser --system --shell /bin/bash --group --home /home/gitea giteaÈ essenziale utilizzare /bin/bash come shell perché Gitea ha bisogno di interagire con git-shell tramite SSH. Se non hai già Git installato, un semplice apt install git risolverà il problema rapidamente.

Installazione binaria e struttura delle cartelle

Dettaglio dei cavi Ethernet collegati a uno switch di rete, che illustra la configurazione di rete e il reverse proxy.

Gitea può essere installato in diversi modi, ma il più semplice è tramite il file binario. Dovresti trovare l'ultima versione stabile sul suo sito web ufficiale e scaricarla utilizzando [metodo/metodo]. wget en /usr/local/bin/giteadandolo più tardi eseguire i permessi con chmod +xAffinché il programma funzioni correttamente, è necessario creare una serie di directory specifiche: /etc/gitea per la configurazione e /var/lib/gitea per dati personalizzati, registri e file. Non dimenticare di regolare il permessi di proprietà (chown) in modo che l'utente gitea possa scrivere loro.

Configurazione del database

Se scegli PostgreSQL, dovrai installare il pacchetto e creare un ruolo specifico con una password complessa, oltre al database. giteadb con codifica UTF8. Se preferisci MariaDB, il processo è simile: crei il database e l'utente, assicurandoti che il Il motore di archiviazione è InnoDB e che il server è in ascolto sulla porta 3306.

  Supporto del server MCP in un ambiente GNOME: una guida completa

Automazione con SystemD

Per evitare di dover avviare manualmente Gitea ogni volta che riavvii il server, è meglio creare un file di unità in /etc/systemd/system/gitea.serviceQuesto file comunica al sistema che Gitea deve essere eseguito come serviziodefinendo l'utente, il gruppo e il percorso binario. Una volta creato, è sufficiente eseguire systemctl enable --now gitea e il server inizierà ad ascoltare, di default, sulla porta 3000.

Il primo contatto con l'interfaccia web

Entrando http://tu-ip:3000Successivamente, visualizzerai la procedura guidata di configurazione. Qui è dove colleghi il database (specificando host, nome utente e password) e definisci il impostazioni generali del sito, come il nome dell'istanza e l'URL di base. È anche il momento di configurare il server SSH e decidere se si desidera che chiunque possa registrarsi o se si preferisce... disabilitare la registrazione pubblica per mantenere il server privato.

Sicurezza e accesso professionale con Nginx

Accedere a Gitea tramite la porta 3000 è inefficiente e insicuro. La soluzione ideale è configurare un reverse proxy con Nginx . Questo permette agli utenti di accedere al sito tramite un dominio (ad esempio, git.yourdomain.com) e garantisce che tutto il traffico sia crittografato utilizzando certificati SSL Let's Encrypt . Nella configurazione di Nginx, è sufficiente reindirizzare il traffico dalla porta 443 alla porta 3000 di Gitea, aggiungendo le intestazioni X-Forwarded-For per evitare di perdere l'indirizzo IP reale del client.

Gestione utenti e migrazione del codice

Se hai disabilitato la registrazione pubblica, puoi creare il primo amministratore utilizzando la riga di comando con il comando gitea admin user createUna volta dentro, puoi aggiungere il tuo chiavi SSH pubbliche nel profilo utente per clonare i repository senza inserire la password ogni volta. Se hai già del codice su GitHub, Gitea ha un strumento di migrazione integrato Importa automaticamente non solo il codice, ma anche i problemi e i tag.

  Come automatizzare i flussi di lavoro con n8n e Docker

Manutenzione e messa a punto

Mantenere Gitea è incredibilmente facile. Per aggiornare, è sufficiente scaricare il nuovo binario, sostituire quello vecchio e riavviare il servizio. Per i backup, utilizzare il comando gitea dump È il tuo migliore amico, perché genera un file compresso con tuttoDatabase, configurazione e repository. Per la posta elettronica, è possibile configurare un server SMTP esterno (come Gmail) o installare Postfix sul server per ricevere notifiche di pull request e avvisi.

L'implementazione di Gitea consente di disporre di una piattaforma di controllo versione robusta, leggera e completamente privata, eliminando la dipendenza da servizi esterni grazie a un'installazione basata su binari, un database ottimizzato e un reverse proxy che garantisce la sicurezza del traffico tramite HTTPS.