Docudjeex
Alternatives

Gitea

Installer Gitea, un service Git auto-hébergé et léger pour gérer vos dépôts de code en privé sur votre propre serveur.
C'est une alternative à Forgejo, le fork communautaire créé après le passage de la gouvernance de Gitea à une société à but lucratif, un sujet sensible pour un projet dont on attend qu'il reste FOSS.

Gitea est une plateforme DevOps auto-hébergée qui permet de gérer des dépôts à la manière de GitHub, mais sur votre propre infrastructure.

Installation

  • /
    • srv
      • docker
        • gitea
          • data

Déployer la stack

Ouvrez Dockge, cliquez sur compose, nommez la stack gitea, et collez le contenu suivant :

compose.yaml
---
networks:
  gitea:
    external: false
services:
  server:
    image: gitea/gitea:1.22.0
    container_name: gitea
    environment:
      - USER_UID=${UID}
      - USER_GID=${GID}
      - TZ=Europe/Paris
    restart: unless-stopped
    networks:
      - gitea
    volumes:
      - ./data:/data
    ports:
      - 3333:3000
      - 222:22

Renseigner vos variables d'environnement

Remplissez le fichier .env avec les informations nécessaires, par exemple :

.env
UID=1000
GID=1000

Déployez le conteneur et allez sur http://ipdevotreserveur:3333. Votre instance Gitea est en route !

Terminé !

Si ça ne marche pas : vérifiez les règles de votre pare-feu.

Exposer Gitea avec Swag

L'intérêt de cette installation est de pouvoir y accéder à distance depuis n'importe lequel de vos appareils. Pour cela, nous allons exposer Gitea à travers Swag.

Au préalable : nous partons du principe que vous avez créé un sous-domaine du type gitea.mondomaine.fr dans votre zone DNS avec un CNAME pointant vers mondomaine.fr, et que, à moins d'utiliser Cloudflare Zero Trust, vous avez déjà redirigé le port 443 de votre box vers le port 443 de votre serveur dans les règles NAT.

Ajouter le réseau de Gitea à SWAG

Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose en y ajoutant le réseau de Gitea :

compose.yaml
---
services:
  swag:
     container_name: # ...
      # ... 
     networks:           # Rattache le conteneur au réseau personnalisé
      # ...           
      - gitea            # Nom du réseau déclaré
    
networks:                # Définit le réseau personnalisé
  # ...
  gitea:                 # Nom du réseau déclaré
    name: gitea_default  # Nom réel du réseau externe
    external: true       # Indique qu'il s'agit d'un réseau externe
Nous partons du principe que le nom du réseau de Gitea est gitea_default. Vous pouvez vérifier la connectivité en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.

Redéployez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.

Créer le fichier subdomain.conf

Dans les dossiers de Swag, créez le fichier gitea.subdomain.conf.

Astuce : vous pouvez utiliser File Browser pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.
Terminal
sudo nano /srv/docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf

Collez la configuration ci-dessous :

gitea.subdomain.conf
## Version 2023/12/19

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name gitea.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    # enable for Authentik (requires authentik-location.conf in the location block)
    #include /config/nginx/authentik-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        # enable for Authentik (requires authentik-server.conf in the server block)
        #include /config/nginx/authentik-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app gitea;
        set $upstream_port 3000;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

    location ~ (/gitea)?/info/lfs {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app gitea;
        set $upstream_port 3000;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }
}

Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter.

Configurer le domaine de Gitea

Ouvrez maintenant le fichier app.ini depuis le système de fichiers du conteneur :

Terminal
sudo nano /srv/docker/gitea/data/gitea/conf/app.ini

Puis modifiez la section server avec les informations de votre domaine :

app.ini
[server]
DOMAIN = gitea.mondomaine.fr
SSH_DOMAIN = gitea.mondomaine.fr
ROOT_URL = https://gitea.mondomaine.fr/

Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter, puis redémarrez le conteneur.

Terminé !

Et voilà ! Gitea est maintenant exposé sur le web.

Astuce : vous pouvez protéger cette application nativement en OIDC avec Pocket ID (en l'enregistrant comme client OIDC), ou avec Authentik en suivant ces instructions.
Contributeur:Djeex
Copyright © 2026