Rayon Développement

Gitea

Votre propre GitHub.

Ajouter à mon serveurGénérer le docker-composeLire le guide pas à pasDocumentation officielle

À quoi ça sert ?

Gitea héberge vos dépôts Git avec une interface proche de GitHub : tickets, pull requests, wiki, et même l'intégration continue (Actions). Léger et rapide.

Pour qui ?

Les développeurs qui veulent garder leur code chez eux.

Bon à savoir

Le port 2222 sert à git en SSH : ouvrez-le dans le pare-feu si vous l’utilisez.

Après l'installation

  1. Tout de suite après l’installation, ouvrez l’adresse du site, gardez SQLite comme base de données, et créez le compte administrateur en bas de la page d’installation : tant que ce n’est pas fait, le premier visiteur peut configurer l’instance à votre place.

Le docker-compose

Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.

# docker-compose.yml : Gitea
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
  gitea:
    # Le programme à télécharger (l'« image »), avec sa version
    image: gitea/gitea:1
    container_name: gitea
    # Redémarre tout seul après une panne ou un redémarrage du serveur
    restart: unless-stopped
    # Réglages de l'application. Les valeurs ${...} viennent du fichier .env
    environment:
      USER_UID: "1000"
      USER_GID: "1000"
      GITEA__server__DOMAIN: git.mondomaine.fr
      GITEA__server__ROOT_URL: https://git.mondomaine.fr/
      GITEA__server__SSH_DOMAIN: git.mondomaine.fr
      GITEA__server__SSH_PORT: "2222"
      GITEA__service__DISABLE_REGISTRATION: "true"
      TZ: Europe/Paris
    # Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
    # Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    # Ports ouverts sur le serveur (port_serveur:port_conteneur)
    ports:
      - "2222:22"
    # Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
    networks:
      - traefik
    # Indique à Traefik de publier l'application sur https://git.mondomaine.fr avec un certificat HTTPS
    labels:
      - traefik.enable=true
      - traefik.http.routers.gitea.rule=Host(`git.mondomaine.fr`)
      - traefik.http.routers.gitea.entrypoints=websecure
      - traefik.http.routers.gitea.tls.certresolver=letsencrypt
      - traefik.http.services.gitea.loadbalancer.server.port=3000
# Le réseau du reverse proxy existe déjà : on s'y raccroche

networks:
  traefik:
    external: true