Repository Git privati nel tuo homelab
Gitea è un server Git leggero, scritto in Go, con interfaccia web simile a GitHub. Perfetto per repository privati senza dipendere da servizi cloud.
1. Installazione
# Scaricare binary
wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/latest/gitea-linux-amd64
chmod +x /usr/local/bin/gitea
# Creare utente
adduser --system --shell /bin/bash --group --disabled-password git
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea
2. Servizio systemd
[Unit]
Description=Gitea
After=network.target mysql.service
[Service]
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
[Install]
WantedBy=multi-user.target
3. Configurazione iniziale
Accedere a http://IP:3000 per il wizard di setup. Configurare database MySQL, admin account, e dominio.
4. HTTPS con reverse proxy
Configurare Apache o Nginx come reverse proxy con Let's Encrypt per HTTPS.
5. Mirror da GitHub
Gitea supporta il mirroring di repository da GitHub, GitLab e altri: utile per avere una copia locale dei propri fork.
6. Webhook e CI
Configurare webhook per trigger automatici: deploy, test, notifiche. Gitea supporta anche Gitea Actions (compatibile con GitHub Actions).
Gitea ospita tutti i repository del sito e dei progetti personali, accessibile via HTTPS con certificato Let's Encrypt.