50% de réduction toutes les offres, durée limitée. À partir de $2.48/mo
Gogs

Gogs

Gogs est un service Git auto-hébergé et indolore. Plus léger que Gitea et GitLab, écrit en Go, fonctionne confortablement sur un VPS de 512 Mo ou même un Raspberry Pi. Le serveur Git original basé sur Go, prédécesseur du Gitea, est toujours activement maintenu pour les utilisateurs qui préfèrent une surface plus petite.

Version

0.14.2

Système d'exploitation

Ubuntu Server 24.04 LTS

Min. RAM

1 GB

Types d'IP

IPV4,IPV6

Accéder

  • Ouvrez votre navigateur et allez sur : https://<SERVER_IP>
  • Un avertissement SSL du navigateur est attendu (certificat auto-signé)
  • Enregistrez un nouveau compte
  • Le premier compte enregistré devient Administrateur

Désactiver l'auto-inscription (facultatif)

Par défaut, l'auto-inscription des utilisateurs est activée.

1. Modifiez le fichier de configuration : /etc/gogs/conf/app.ini

2. Sous le [auth] rubrique, modifier : DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Redémarrez Gogs :

systemctl restart gogs

Fichiers et répertoires importants

  • Répertoire d'installation : /opt/gogs
  • Fichier de configuration : /etc/gogs/conf/app.ini
  • Données de candidature : /var/lib/gogs
  • Dépôts : /var/lib/gogs/repositories
  • Journaux : /var/log/gogs
  • Service système : /etc/systemd/system/gogs.service
  • Config Nginx : /etc/nginx/sites-available/gogs.conf
  • Certificats TLS : /etc/nginx/ssl/

Utilisation de Git

HTTPS (certificat auto-signé) :

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (serveur intégré) :

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

Gestion des services

Gogs :

systemctl status gogs
systemctl restart gogs

Nginx :

systemctl status nginx
systemctl restart nginx

PostgreSQL :

systemctl status postgresql
systemctl restart postgresql

Remarques

  • Le fichier de configuration principal se trouve à l'adresse /etc/gogs/conf/app.ini. Après avoir modifié le fichier de configuration, redémarrez le service en utilisant systemctl restart gogs.
  • La limite de téléchargement Nginx est définie dans /etc/nginx/sites-available/gogs.conf en utilisant client_max_body_size. Augmentez-le pour les grands référentiels et redémarrez Nginx.
  • Pour les déploiements importants, vous pouvez décommenter LimitMEMLOCK=infinity et LimitNOFILE=65535 in /etc/systemd/system/gogs.service, puis exécutez systemctl daemon-reload et redémarrez Gogs.
  • Les informations d'identification de la base de données sont définies dans /etc/gogs/conf/app.ini.
  • Pour une utilisation en production, il est recommandé de remplacer le certificat auto-signé par un certificat Let’s Encrypt valide.
  • Si vous utilisez un certificat auto-signé, le clonage HTTPS nécessite GIT_SSL_NO_VERIFY=true.

Activer SSL avec un domaine

1. Faites pointer votre domaine vers l'IP du serveur.

2. Mettre à jour la configuration de Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. Redémarrez le service Gogs pour appliquer les modifications :

systemctl restart gogs

3. Modifiez la configuration Nginx et remplacez les deux server_name <IP>; avec votre domaine (<your-domain>) dans les blocs HTTP (port 80) et HTTPS (port 443) :

vim /etc/nginx/sites-available/gogs.conf

4. Installez Certbot :

apt install -y certbot python3-certbot-nginx

5. Exécutez la commande suivante pour générer un certificat Let's Encrypt valide :

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. Remplacez les chemins SSL dans la configuration Nginx :

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. Redémarrez Nginx pour appliquer les modifications :

systemctl restart nginx

8. Ouvrez votre navigateur et visitez : https://yourdomain.com

Déployez Gogs maintenant. À partir de 2,48 $/mois.