50 % de réduction sur tous les plans, durée limitée. À partir de $2.48/mo
Gogs

Gogs

Gogs est un service Git auto-hébergé simple à mettre en place. Plus léger que Gitea et GitLab, écrit en Go, il tourne sans problème sur un VPS de 512 MB ou même un Raspberry Pi. Le serveur Git d'origine basé sur Go, prédécesseur de Gitea, toujours activement maintenu pour ceux qui préfèrent une solution plus légère.

Version

0.14.2

Système d'exploitation

Serveur Ubuntu 24.04 LTS

RAM min.

1 GB

Types d'IP

IPV4,IPV6

Accès

  • Ouvrez votre navigateur et rendez-vous sur : https://<SERVER_IP>
  • Un avertissement SSL dans le navigateur est normal (certificat auto-signé)
  • Créer un nouveau compte
  • Le premier compte créé 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. Dans la section [auth] section, modifiez : 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 l'application : /var/lib/gogs
  • Dépôts : /var/lib/gogs/repositories
  • Journaux : /var/log/gogs
  • Service Systemd : /etc/systemd/system/gogs.service
  • Configuration 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 du service

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 à /etc/gogs/conf/app.ini. Après avoir modifié le fichier de configuration, redémarrez le service avec systemctl restart gogs.
  • La limite de téléversement Nginx est définie dans /etc/nginx/sites-available/gogs.conf via client_max_body_size. Augmentez-la pour les dépôts volumineux, puis 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écuter systemctl daemon-reload et redémarrer Gogs.
  • Les identifiants de base de données sont définis dans /etc/gogs/conf/app.ini.
  • 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 via HTTPS nécessite GIT_SSL_NO_VERIFY=true.

Activer SSL avec un domaine

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

2. Mettez à 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>; par votre domaine (« <your-domain>) pour 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 accédez à : https://yourdomain.com

Plus d'outils DevOps

Applications associées.

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