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.
Ce guide couvre l'installation de Gitea sur un serveur Linux, sa configuration pour la production, puis sa sécurisation 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 reste léger et tient la charge des petites et moyennes équipes 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

Renovate self-hosted : automatiser les mises à jour de dépendances
DevOps
Sécurité
Administration

Renovate self-hosted : automatiser les mises à jour de dépendances

Déployer Renovate Bot en self-hosted sur GitLab ou GitHub. Configuration, presets, scheduling, gouvernance, retours ops sur la maintenance des dépendances à grande échelle.

31 mai 2026

Lire plus

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


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