Prendre rendez-vous
  1. Accueil
  2. /
  3. Blog
  4. /
  5. Déployer un serveur Git auto-hébergé avec Gitea

Administration
DevOps

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

8 octobre 2025

3 min de lecture

Sommaire
Plan de l'article
Ressources complémentaires
Prérequis et choix d'architecture
Installation (binaire)
Installation (Docker)
Configuration initiale
Reverse-proxy (Nginx) exemple
Sauvegardes et maintenance
Bonnes pratiques de sécurité
Conclusion

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

Plan de l'article

  • Prérequis et choix d'architecture
  • Installation de Gitea (binaire ou Docker)
  • Configuration initiale et base de données (MySQL/PostgreSQL)
  • Configuration HTTPS et reverse-proxy (Nginx/HAProxy)
  • Sauvegardes et maintenance
  • Bonnes pratiques de sécurité
  • Ressources complémentaires
  • Conclusion

Ressources complémentaires

  • Configurez Traefik comme reverse proxy
  • Automatisez les certificats avec Certbot

Prérequis et choix d'architecture

  • Serveur Linux (Debian/Ubuntu recommandé) avec au minimum 1 CPU, 1-2 GB 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).

Installation (binaire)

Télécharger la dernière version et créer un utilisateur système :

wget -O gitea https://dl.gitea.io/gitea/<VERSION>/gitea-<ARCH>
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 systemd /etc/systemd/system/gitea.service puis démarrer :

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Installation (Docker)

Exemple Docker Compose minimal :

services:
  db:
    image: mariadb:10.6
    environment:
      - MYSQL_ROOT_PASSWORD=change_me
      - MYSQL_DATABASE=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=change_me
    volumes:
      - db-data:/var/lib/mysql

  gitea:
    image: gitea/gitea:latest
    depends_on:
      - db
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - gitea-data:/data
    ports:
      - '3000:3000'
volumes:
  db-data:
  gitea-data:

Configuration initiale

Accédez à l'interface web (http://server:3000) pour la configuration initiale : base de données, utilisateur admin, URL racine. Configurez le reverse-proxy pour exposer Gitea sur https://git.exemple.com.


Reverse-proxy (Nginx) exemple

server {
    listen 80;
    server_name git.exemple.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name git.exemple.com;
    ssl_certificate /etc/letsencrypt/live/git.exemple.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.exemple.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

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 stable pour les équipes de développement.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets d'infrastructure et d'infogérance.

Contactez-nous

Articles similaires

Forgejo : un Gitea sous gouvernance communautaire
DevOps
Administration

Forgejo : un Gitea sous gouvernance communautaire

Forgejo est un fork de Gitea sous GPLv3, gouverné par une communauté indépendante. Forgejo Actions, fédération ActivityPub, comparaison avec Gitea et GitLab CE, déploiement self-hosted.

19 mai 2026

Lire plus

Semaphore UI : piloter Ansible sans terminal avec une interface web moderne
DevOps
Administration

Semaphore UI : piloter Ansible sans terminal avec une interface web moderne

Découvrez Semaphore UI, l'alternative légère à AWX pour orchestrer vos playbooks Ansible via une interface web. Installation Docker, credentials, webhooks CI/CD.

27 mars 2026

Lire plus

Python pour les sysadmins : automatiser son infrastructure efficacement
Administration
DevOps
Linux

Python pour les sysadmins : automatiser son infrastructure efficacement

Exploitez Python pour automatiser l'administration système. Bibliothèques essentielles, scripts pratiques et comparaison avec Bash pour l'infrastructure.

25 févr. 2026

Lire plus


SHPV, votre partenaire de confiance en infrastructure et infogérance informatique en France.

SHPV
Prendre rendez-vousNous contacter
Expertise
InfrastructureDatacenterInfogéranceCloudHébergementTransit IP
Légales
Conditions Générales de VenteCPS - Contrat de ServicesCPS - Hébergement CloudCPS - Microsoft 365Accord sous-traitance RGPDTarifs interventions

SHPV © 2026 - Tous droits réservés

Mentions légalesPolitiques de confidentialité
SHPV FRANCE - SAS au capital de 16 000 € - 52 Rue Romain Rolland, 71230 Saint-Vallier - SIRET n°80886287400035 - R.C.S. Chalon-sur-Saône. Par téléphone 09 72 310 818 - Email: support@shpv.fr