Outils pour utilisateurs

Outils du site


admin:services:forge.chapril.org

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édentesRévision précédente
Prochaine révision
Révision précédente
admin:services:forge.chapril.org [2021/04/11 23:56] – [Barre de navigation] cpmadmin:services:forge.chapril.org [2024/01/28 01:25] (Version actuelle) – [Tâches récurrentes et modération] pilou
Ligne 231: Ligne 231:
 <code> <code>
 export GITEA_WORK_DIR=/srv/gitea export GITEA_WORK_DIR=/srv/gitea
-mkdir -p $GITEA_WORK_DIR/{custom,data} +mkdir -p $GITEA_WORK_DIR/{backups,bin,custom,data,repositories} 
-chown -R gitea:gitea $GITEA_WORK_DIR + 
-chmod -R ug+x $GITEA_WORK_DIR +chown root:gitea $GITEA_WORK_DIR 
-chmod -R o-rwx $GITEA_WORK_DIR+chown root:root $GITEA_WORK_DIR/{bin,custom
 +chown gitea:gitea $GITEA_WORK_DIR/{backups,data,repositories} 
 + 
 +chmod u=rwx,g=rx,o= $GITEA_WORK_DIR 
 +chmod u=rwx,g=rx,o=rx $GITEA_WORK_DIR/{bin,custom} 
 +chmod u=rwx,g=rx,o= $GITEA_WORK_DIR/{backups,data,repositories}
  
 mkdir /etc/gitea mkdir /etc/gitea
 chown root:gitea /etc/gitea chown root:gitea /etc/gitea
-chmod ug+rwx /etc/gitea +chmod ug=rwx /etc/gitea 
-chmod o-rwx /etc/gitea+chmod o/etc/gitea
  
 mkdir /var/log/gitea mkdir /var/log/gitea
Ligne 292: Ligne 297:
 Group=gitea Group=gitea
 WorkingDirectory=/srv/gitea WorkingDirectory=/srv/gitea
-ExecStart=/srv/gitea/bin/gitea web --config /etc/gitea/gitea.ini+ExecStart=/srv/gitea/bin/gitea --config /etc/gitea/gitea.ini web 
 +ExecStop=/srv/gitea/bin/gitea --config /etc/gitea/gitea.ini manager flush-queues 
 +ExecStop=/srv/gitea/bin/gitea --config /etc/gitea/gitea.ini manager shutdown
 Restart=always Restart=always
-Environment=USER=gitea HOME=/srv/gitea/ GITEA_WORK_DIR=/srv/gitea+Environment=USER=gitea HOME=/srv/gitea/
  
 [Install] [Install]
Ligne 353: Ligne 360:
 chmod g=r /etc/gitea/gitea.ini chmod g=r /etc/gitea/gitea.ini
 </code> </code>
-==== Paramétrage complémentaire ====+===== Paramétrages complémentaires =====
  
 Dans la page ''https://docs.gitea.io/en-us/config-cheat-sheet/'', des paramétrages affinés sont trouvables à faire dans ''/etc/gitea/gitea.ini''. Dans la page ''https://docs.gitea.io/en-us/config-cheat-sheet/'', des paramétrages affinés sont trouvables à faire dans ''/etc/gitea/gitea.ini''.
 +
 +==== section par défaut ===
 +
 +<code>
 +APP_NAME = La forge Chapril
 +RUN_USER = gitea
 +RUN_MODE = prod
 +WORK_PATH = /srv/gitea
 +</code>
 +==== base de données ====
 +
 +<code>
 +[database]
 +DB_TYPE  = postgres
 +HOST     = /run/postgresql
 +NAME     = giteadb
 +USER     = giteadbadmin
 +PASSWD   = [REDACTED]
 +SCHEMA   
 +SSL_MODE = disable
 +CHARSET  = utf8
 +</code>
 +
 +==== Désactivation des appels aux services externes ====
 +
 +<code>
 +[picture]
 +DISABLE_GRAVATAR        = true
 +ENABLE_FEDERATED_AVATAR = false
 +
 +[openid]
 +ENABLE_OPENID_SIGNIN = false
 +ENABLE_OPENID_SIGNUP = false
 +</code>
 +
  
  
Ligne 372: Ligne 414:
 <code> <code>
 [repository] [repository]
 +ROOT = /srv/gitea/repositories
 PREFERRED_LICENSES=AGPL-3.0-or-later,GPL-3.0-or-later,CC-BY-SA-4.0 PREFERRED_LICENSES=AGPL-3.0-or-later,GPL-3.0-or-later,CC-BY-SA-4.0
 </code> </code>
  
 +==== lfs ====
 +
 +<code>
 +[lfs]
 +PATH = /srv/gitea/data/lfs
 +</code>
  
 ==== Taille maximale de téléversement ==== ==== Taille maximale de téléversement ====
Ligne 398: Ligne 447:
 [attachment] [attachment]
 ; Max size of each file. Defaults to 4MB ; Max size of each file. Defaults to 4MB
-MAX_SIZE = 20+MAX_SIZE = 50 
 +</code> 
 + 
 +==== sections session et log ==== 
 +<code> 
 +[session] 
 +PROVIDER = file 
 + 
 +[log] 
 +MODE      = file 
 +LEVEL     = info 
 +ROOT_PATH = /var/log/gitea/ 
 +</code> 
 + 
 +==== Désactiver l'ensemble des dépôts d'objets binaires ==== 
 + 
 +<code> 
 +[packages] 
 +; Enable/Disable package registry capabilities 
 +ENABLED = false
 </code> </code>
 ===== Personnalisation ===== ===== Personnalisation =====
Ligne 404: Ligne 472:
 Basée sur la page https://docs.gitea.io/en-us/customizing-gitea/ Basée sur la page https://docs.gitea.io/en-us/customizing-gitea/
  
 +Le dossier ''root@grof:/srv/gitea/custom'' est un [[https://forge.april.org/Chapril/forge.chapril.org-custom|dépôt git]].
 +Le but est d'avoir un suivi des modifications.
 ==== Page d'accueil ==== ==== Page d'accueil ====
  
Ligne 531: Ligne 601:
 mv logo-forgechaprilorg02.png gitea-lg.png mv logo-forgechaprilorg02.png gitea-lg.png
 chmod go+r *png *svg chmod go+r *png *svg
 +ln -s logo.svg favicon.svg
 systemctl restart gitea systemctl restart gitea
 </code> </code>
Ligne 643: Ligne 714:
   * la documentation officielle de Gitea contient une page sur les backups : ''https://docs.gitea.io/en-us/backup-and-restore/''.   * la documentation officielle de Gitea contient une page sur les backups : ''https://docs.gitea.io/en-us/backup-and-restore/''.
  
-Donc la procédure de mise à jour peut consister à : +Ajouter une mise à jour planifiée sur https://status.chapril.org/dashboard/schedule en utilisant le modèle prévu à cet effet. 
-  * définir dans une variable le numéro de la nouvelle version : + 
-<code>+Donc la procédure de mise à jour peut consister, en utilisant un multiplexeur de terminal, à : 
 +  * définir dans une variable le numéro de la nouvelle version :<code bash>
 export VERSION=1.X.Y export VERSION=1.X.Y
 </code> </code>
-  * récupérer la dernière version sur ''https://dl.gitea.io/gitea'' et faire un ''sha256sum -c'' : +  * Lancer [[https://forge.april.org/Chapril/forge.chapril.org-tools/src/branch/master/upgrade.sh|le script de mise à jour]]:<code bash
-<code> +/srv/forge.chapril.org/tools/upgrade.sh verify download 
-cd /srv/gitea/bin +/srv/forge.chapril.org/tools/upgrade.sh stop backup 
-wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64 +/srv/forge.chapril.org/tools/upgrade.sh check 
-wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.asc +# corriger les éventuels problèmes 
-wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.sha256 +/srv/forge.chapril.org/tools/upgrade.sh upgrade 
-sha256sum -c gitea-$VERSION-linux-amd64.sha256 +# être attentif aux éventuels problèmes 
-# gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 +/srv/forge.chapril.org/tools/upgrade.sh start
-gpg --verify gitea-$VERSION-linux-amd64.asc gitea-$VERSION-linux-amd64+
 </code> </code>
-  * stopper : +  * surveiller les logs :<code bash>
-<code> +
-systemctl stop gitea +
-</code> +
-  * dumper : +
-<code> +
-su - gitea -c "cd /srv/gitea/bin ; /srv/gitea/bin/gitea dump --tempdir /var/tmp/ -c /etc/gitea/gitea.ini" +
-</code> +
-  * archiver le binaire courant ''/srv/gitea/bin/gitea''+
-<code> +
-mv gitea gitea.old +
-</code> +
-  * remplacer le binaire ''/srv/gitea/bin/gitea''+
-<code> +
-mv gitea-$VERSION-linux-amd64 gitea +
-</code> +
-  * mettre les bons droits : +
-<code> +
-cd /srv/gitea/bin/ +
-chown gitea.gitea gitea +
-chmod u+x gitea +
-</code> +
-  * démarrer : +
-<code> +
-systemctl start gitea +
-</code> +
-  * surveiller les logs : +
-<code>+
 tail -f /var/log/gitea/gitea.log tail -f /var/log/gitea/gitea.log
 +tail -f /var/log/apache2/forge.chapril.org/forge.chapril.org-error.log
 </code> </code>
-  * supprimer manuellement l'ancien dump.+  * supprimer manuellement l'ancien dump 
 +  * vérifier que les personnalisations ne sont pas cassées :  
 +    * https://forge.chapril.org/ sans être authentifié 
 +      * vérifier la présence de la bannière Chapril avec notamment les liens ''Accueil Chapril'', ''CGU'', ''Mentions légales'' et le logo de l'April 
 +      * logo (bleu, un profil de chat dans la tasse) 
 +      * Chercher le texte ''La forge Chapril'' dans la page 
 +      * favicon identique au logo 
 +      * vérifier qu'il y a un lien ''Help''/''Aide'' dans le pied de page à gauche de la version de Go* 
 +      * vérifier la présence des liens ''Help''/''Aide'' et ''support'' dans la barre de navigation supérieure, à droite de ''explore'' 
 +    * https://forge.chapril.org/user/sign_up 
 +      * petit encart jaune ''En créant un compte, vous acceptez ...'' 
 +      * logo a gauche de la barre de navigation 
 +    * Enregistrer un compte pour vérifier que le courriel d'activation d'un compte est en français 
 +    * en étant authentifié: 
 +      * vérifier la présence des liens ''Help''/''Aide'' et ''support'' dans la barre de navigation supérieure, à droite de ''explore'' 
 +===== Procédure de restauration ===== 
 + 
 +Il n'existe pas de commande gitea pour restaurer une sauvegarde ([[https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore|mais la documentation mentionne un ensemble de commandes]]), il faut décompresser la sauvegarde et copier les différents éléments: 
 +  * le fichier de configuration ''app.ini'' 
 +  * les données, les logs, les dépôts 
 +  * la base de données 
 + 
 +===== Tâches récurrentes et modération ===== 
 + 
 +En plus de la mise à jour du service décrite précédemment, l'administration de la forge nécessite de réaliser deux autres [[https://agir.april.org/projects/forge-chapril-org/issues?f[]=tracker_id&op[tracker_id]=%3D&v[tracker_id][]=3|tâches récurrentes]] qui sont des actions de modération: 
 + 
 +  * modération des comptes: suppression sans préavis ni avertissement des comptes créés par des robots 
 +    * Pour connaître l'IP utilisée lors de la création d'un compte: 
 +       - Via l'interface d'administration, notez la date et l'heure de la création du compte 
 +       - Puis recherchez la date et l'heure dans les logs: ''journalctl -u gitea -S -1w -g 'POST[^/]+/user/sign_up''' 
 +  * Trouver les comptes récemment créés et actifs (afin de supprimer les nouvelles issues crées par les spammeurs) (pour [[https://forge.chapril.org/user/settings/applications|créer un token]]): 
 +    <code>for x in $(curl  -H "Authorization: token $token" https://forge.chapril.org/api/v1/admin/users | jq -r '.[] | select(.id > 3100) | select(.id | IN(3394, 3288, 3271, 3132) | not) | .login'); do test $(curl  -sH "Authorization: token $token" https://forge.chapril.org/api/v1/users/$x/activities/feeds | jq 'map(select(.op_type | IN("comment_issue", "create_issue")))| length') -ne 0 && echo https://forge.chapril.org/$x?tab=activity ; done</code> 
 +  * Supprimer un range : 
 +      <code>for x in $(curl  -H "Authorization: token $token" https://forge.chapril.org/api/v1/admin/users | jq -r '(.[] | select(.id > 3330)) | select(.id < 3394)| .login'); do curl  -H "Authorization: token $token" -X DELETE -H "Content-Type: application/json" https://forge.chapril.org/api/v1/admin/users/$x?delete=true ; done</code> 
 +  * Sélection des comptes récents contenant des liens en description : 
 +      <code>for x in $(curl  -H "Authorization: token $token" https://forge.chapril.org/api/v1/admin/users | jq -r '.[] | select(.id > 3100) | .login'); do clear; curl -sH "Authorization: token $token" https://forge.chapril.org/api/v1/users/$x | jq -er 'select(.website != "" or (.description | test("http"))) | .login + "\n" + .website + .description + "\n"' && (read -e -p "Delete ? " delete; [[ "$delete" == [Yy]* ]] && curl  -H "Authorization: token $token" -X DELETE -H "Content-Type: application/json" https://forge.chapril.org/api/v1/admin/users/$x?purge=true && echo -e "deleted\n"); done</code> 
 +  * modération des dépôts: en cas d'absence de licence ou de licence non conforme aux CGU, envoi d'un mail à l'utilisateur et suppression si au bout de 15 jours celui-ci ne s'est pas mis pas en conformité avec les CGU.
admin/services/forge.chapril.org.1618185389.txt.gz · Dernière modification : 2021/04/11 23:56 de cpm