Gitea ... un github opensource ============================== ![category](développement) ![tag](git) J'utilise beaucoup *gitweb* pour générer un serveur git. Cela à l'avanateg d'être standard, supporté par git et de fournir une interface minimale pour visualiser son repository git. De plus l'image docker que je maintiens permet de créer automatique des repositories et des utilisateurs Malheureusement cette solution n'est pas viable si on veut rajouter les fonctionnalités - gestion de ticket - création de dépot par un utilisateur - fork - proposition de pull - notification - gestion simple des utilisateurs - ... Jusqu'à present pour avoir ces fonctionnalités j'utilisais - gitlab: mais cela est très lourd - github: mais pas en administration interne Il existe une solution nommé *gitea* complètement développé en **Go** Pour lancer un serveur rien de plus simple ``` docker run -d --name=gitea -p 2222:22 -p 3000:3000 -v /data:$HOME/data gitea/gitea:latest ``` A la premièer connexion vous allez vous retrouver sur une page d'installation. Il s'agit d'une appliction n-tiers qui necessite une base de donnée. Sqlite fait très bien l'affaire pour de petite configuration Vous pouvez retrouver sur le lien `https://docs.gitea.io/fr-fr/install-with-docker/`_ et sur le lien `https://docs.gitea.io/en-us/install-with-docker/`_ toutes les informations pour avoir une configuration plus robuste. Pour moi les moins sont: - impossible de créer en une image l'ensemble des utilisateurs et repository - nécessite suite à l'installation de modifier les variables d'environnements Cela reste une excellent solution, maintenue qui offre un visuel classique avec de nombreuses possibilités Il est possible de customizer les pages de gitea, par exemple pour rajouter la possibilité d'utiliser mermaid.js il suffit de créer un fichier dans /data/gitea/templates/custom/footer.tmpl contenant ```html {{if .RequireHighlightJS}} {{end}} ``` et par la suite dans un fichier .md d'ajouter le code ``` ```mermaid stateDiagram [*] --> Active state Active { [*] --> NumLockOff NumLockOff --> NumLockOn : EvNumLockPressed NumLockOn --> NumLockOff : EvNumLockPressed -- [*] --> CapsLockOff CapsLockOff --> CapsLockOn : EvCapsLockPressed CapsLockOn --> CapsLockOff : EvCapsLockPressed -- [*] --> ScrollLockOff ScrollLockOff --> ScrollLockOn : EvCapsLockPressed ScrollLockOn --> ScrollLockOff : EvCapsLockPressed } ``` plus d'info sur https://docs.gitea.io/en-us/customizing-gitea/