En cliquant sur « accepter », vous acceptez l’utilisation de cookies à usages techniques nécessaires à son bon fonctionnement, ainsi que des cookies, y compris des cookies tiers, à des fins statistiques, de publicité ou de personnalisation pour vous proposer des services et des offres adaptés à vos centres d’intérêts sur notre site et ceux de tiers. Plus d'information
125 Bd Louis Blanc 85000 La Roche-Sur-Yon

Déployer un serveur Git auto-hébergé avec Gitea

Gitea est une plateforme légère et open-source pour héberger des dépôts Git. 
C'est alternative simple à GitHub/GitLab. Très utile pour l'auto-hébergement.
Dans ce guide, nous verrons comment installer Gitea, avec Docker, sur un serveur Linux, le configurer pour la production, et assurer sa sécurité et sa maintenance.

Pré-requis et architecture

  • Serveur Linux (Debian/Ubuntu recommandés) 
  • Docker installé et fonctionnel
  • Minimum 1 CPU, 1-2GB RAM pour petites équipes.
  • Base de données : MySQL/MariaDB ou PostgreSQL.
  • Reverse-proxy (Nginx/HAProxy) pour gérer TLS et virtual hosts.
  • Nom de domaine et certificats TLS (Let’s Encrypt).

Docker Compose minimal

 version: "3" networks: gitea: external: false services: server: image: docker.gitea.com/gitea:1.25.3 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=db:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea restart: always networks: - gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "8080:3000" - "2221:22" depends_on: - db db: image: docker.io/library/mysql:8 restart: always environment: - MYSQL_ROOT_PASSWORD=gitea - MYSQL_USER=gitea - MYSQL_PASSWORD=gitea - MYSQL_DATABASE=gitea networks: - gitea volumes: - ./mysql:/var/lib/mysql

Ou installation avec le binaire

Télécharger la dernière version et créer un utilisateur système :
 wget -O gitea https://dl.gitea.io/gitea//gitea- chmod +x gitea sudo useradd --system --home /home/git --shell /bin/bash git sudo mkdir -p /var/lib/gitea/{custom,data,log} sudo chown -R git:git /var/lib/gitea sudo cp gitea /usr/local/bin/gitea
Créer un service
 créer/ éditer le fichier /etc/systemd/system/gitea.service # Démarrer le service sudo systemctl daemon-reload sudo systemctl enable --now gitea

Sauvegardes et maintenance

  • Sauvegarder /var/lib/gitea (données) et la base de données régulièrement.
  • Mettre à jour Gitea selon le calendrier de sécurité.
  • Surveiller les métriques et logs (ex: Prometheus, Grafana, ou outils classiques).

    • Bonnes pratiques de sécurité

      • Utiliser HTTPS obligatoire et HSTS.
      • Restreindre l'accès SSH/HTTP si nécessaire.
      • Mettre en place des sauvegardes automatisées et tests de restauration.
      • Limiter les droits des comptes système et tenir à jour les dépendances.

        • Conclusion

          Gitea offre une solution légère et efficace pour l'auto-hébergement de dépôts Git. 
          Avec une architecture soignée (base de données, reverse-proxy, sauvegardes), vous obtenez une plateforme robuste pour les équipes de développement ou système.