documentation_technique:gitea

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
documentation_technique:gitea [01/22/2019 06:17:57] – bfaverdindocumentation_technique:gitea [10/23/2026 10:08:42] (Version actuelle) – typo thomas
Ligne 175: Ligne 175:
   * le dossier "data" contient les pièces jointes des tickets (stockés en base de données) ainsi que les avatars des utilisateurs ;   * le dossier "data" contient les pièces jointes des tickets (stockés en base de données) ainsi que les avatars des utilisateurs ;
   * le dossier "gitea-repositories" contient l'ensemble des dépôts des utilisateurs (un dossier par utilisateur) ;   * le dossier "gitea-repositories" contient l'ensemble des dépôts des utilisateurs (un dossier par utilisateur) ;
 +  * le dossier "log" contient... les logs !
   * un lien symbolique (/usr/loca/bin/gitea) pointe vers le fichier binaire "gitea-1.6.4-linux-amd64"   * un lien symbolique (/usr/loca/bin/gitea) pointe vers le fichier binaire "gitea-1.6.4-linux-amd64"
  
Ligne 263: Ligne 264:
  
 ====== Procédure de mise à jour ====== ====== Procédure de mise à jour ======
 +
 +  * Set target version number (latest release on github
 +<code>
 +export VERSION=X.X.X
 +</code>
  
   * Arrêter le service :   * Arrêter le service :
Ligne 277: Ligne 283:
   * Télécharger le dernier binaire en date depuis le site de gitea :   * Télécharger le dernier binaire en date depuis le site de gitea :
 <code> <code>
-# cd /var/lib/gitea && wget https://dl.gitea.io/gitea/1.x.x/gitea-1.x.x-linux-amd64+# cd /var/lib/gitea && wget https://github.com/go-gitea/gitea/releases/download/v${VERSION}/gitea-${VERSION}-linux-amd64
 </code> </code>
  
   * Changer les droits :   * Changer les droits :
 <code> <code>
-# chown git: gitea-1.x.x-linux-amd64 && chmod u+x gitea-1.x.x-linux-amd64+# chown git: gitea-${VERSION}-linux-amd64 && chmod u+x gitea-${VERSION}-linux-amd64
 </code> </code>
  
Ligne 288: Ligne 294:
  
 <code> <code>
-# cd /usr/local/bin && unlink gitea && ln -s /var/lib/gitea/gitea-1.x.x-linux-amd64 gitea+# cd /usr/local/bin && unlink gitea && ln -s /var/lib/gitea/gitea-${VERSION}-linux-amd64 gitea 
 +</code> 
 + 
 +  * vérifier et mettre à jour la base de donnée: 
 + 
 +<code> 
 +sudo -u git gitea doctor check --config /etc/gitea/app.ini 
 +sudo -u git gitea migrate --config /etc/gitea/app.ini
 </code> </code>
  
Ligne 298: Ligne 311:
  
 En cas de problème lors de la mise à jour, arrêter le service, restaurer la base de données et faire pointer le lien symbolique sur la version précédente du binaire. En cas de problème lors de la mise à jour, arrêter le service, restaurer la base de données et faire pointer le lien symbolique sur la version précédente du binaire.
 +
 +Ça peut aider de jeter un oeil dans les logs aussi (/var/lib/gitea/log/gitea.log) et d'utiliser la commande gitea doctor
 +
 +**Penser à supprimer les version n-2**
 +
 +====== Personnalisation ======
 +
 +Le dossier d'installation de //Gitea// est ''%%/var/lib/gitea%%''.
 +
 +C'est à partir de cet emplacement que le site peut être personnalisé et plus particulièrement en intervenant sur le dossier ''%%/var/lib/gitea/custom/%%''.
 +
 +==== Page de garde ====
 +
 +Il est possible de faire une page de garde personnalisée en créant le fichier ''%%gogs/custom/templates/home.tmpl%%'' (par défaut le fichier affiché est ''%%/var/lib/gitea/templates/home.tmpl%%'').
 +
 +Il est également possible de personnaliser l'entête (''%%/var/lib/gitea/custom/templates/inject/head.tmpl%%'') et le bas de page (''%%/var/lib/gitea/custom/templates/inject/footer.tmpl%%'').
 +
 +Il est ainsi possible d'appliquer un //CSS// personnalisé qu'on placera dans ''%%/var/lib/gitea/custom/public/css%%'' et qu'on incluera dans l'entête personnalisé (exemple : ''%%<link rel="stylesheet" href="/css/custom.css">%%'').
 +
 +==== Logo & favicon ====
 +2021 : la technique permettant de changer le logo ne marche plus. Corrigé en faisant un lien symbolique ''gitea-sm.png -> logo_hadoly.png'' dans /var/lib/gitea/custom/img
 +
 +Afin de mettre le logo Hadoly dans le menu et en favicon, il suffit de remplacer le fichier ''%%/var/lib/gitea/custom/public/img/favicon.png%%''.
 +
 +Concernant le logo de la page de garde, il faut modifier l'image pointée par la class //CSS// //"logo"// du fichier ''%%home.tmpl%%'' (par défaut utilise le //favicon//).
 +
 +==== Liste des utilistateurs ====
 +
 +Par défault, la liste des utilisateurs est publique, et visible y compris aux persononnes non authentifiées. (sur https://git.hadoly.fr/explore/users)  
 +Ce n'est pas configurable pour le moment, cf [[https://github.com/go-gitea/gitea/issues/2908 | Issue 2908]]  
 +
 +Il est possible de passer REQUIRE_SIGNIN_VIEW à true, mais cela empêche alors d'avoir des dépots publics. 
 +
 +Pour masquer la liste des utilisateurs dans l'interface web, on crée le fichier ''%%/var/lib/gitea/custom/templates/explore/users.tmpl%%'' :
 +
 +<code>
 +{{template "base/head" .}}
 +<div class="explore users">
 + {{template "explore/navbar" .}}
 + <div class="ui container">
 +
 + <div class="ui user list">
 +                La liste des utilisateurs n'est pas disponible.
 + </div>
 +
 + </div>
 +</div>
 +{{template "base/footer" .}}
 +
 +</code>
 +
 +Il faut aussi bloquer le endpoint d'API ''api/v1/users/search'' qui permet de récupérer un beau json avec la liste des utilisateurs, (Login, Nom, Prénom, email, date de création, date dernier login...)  
 +
 +Pour tester: ''curl -X GET "https://git.hadoly.Fr/api/v1/users/search" -H  "accept: application/json" | jq''  
 +
 +Pour bloquer  cela, il n'existe pas de bonne sollution sans impacter le fonctionnement de l'appli. Bloquer tout users/search/ empeche d'ajouter des utilisateurs à sur un dépot. Et casse peut être d'autres choses...
 +Le comportement par default de l'API, si on fait une requète avec n'importe quoi sur ce endpoint est de retourner la liste complète des users. Ça rend quasiment impossible de bloquer correctement avec une regex et la logique nginx. (en tout cas je n'y suis pas arrivé).
 +
 +Sollution très imparfaite qui bloque un petit peu, et laisse la recherche fonctionner du moment qu'on fournis au moins 3 lettres ou chiffres. 
 +
 +<code>
 +        location ~ ^/api/v1/users/search/?$ {
 +                if ($args ~* "^q?=?[a-z0-9]{0,3}$") {
 +                        return 403;
 +                }
 +</code>
  • documentation_technique/gitea.1548137877.txt.gz
  • Dernière modification : 01/22/2019 06:17:57
  • de bfaverdin