Rayon Développement

Gitea

Votre propre GitHub.

Ajouter à mon serveurGénérer le docker-composeDocumentation 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. 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.

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