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 [2022/01/04 00:24] – suppression "liste a puce" pilouadmin: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 533: 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 645: 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/''.
  
-48h avant, ajouter une mise à jour planifiée sur https://status.chapril.org/dashboard/schedule en utilisant le modèle prévu à cet effet.+Ajouter une mise à jour planifiée sur https://status.chapril.org/dashboard/schedule en utilisant le modèle prévu à cet effet.
  
-Donc la procédure de mise à jour peut consister à :+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>   * 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>
-  * Lancer le script suivant ou bien copier/coller le contenu des fonctions, dans l'ordre<code bash> +  * Lancer [[https://forge.april.org/Chapril/forge.chapril.org-tools/src/branch/master/upgrade.sh|le script de mise à jour]]:<code bash> 
-#!/bin/bash +/srv/forge.chapril.org/tools/upgrade.sh verify download 
- +/srv/forge.chapril.org/tools/upgrade.sh stop backup 
-set -ex +/srv/forge.chapril.org/tools/upgrade.sh check 
- +# corriger les éventuels problèmes 
-BINDIR=/srv/gitea/bin +/srv/forge.chapril.org/tools/upgrade.sh upgrade 
-#VERSION=x.x.x +être attentif aux éventuels problèmes 
- +/srv/forge.chapril.org/tools/upgrade.sh start
-cd $BINDIR +
- +
-function verify() { +
-    if ./gitea --version grep -q "version $VERSION " ; then +
- echo "Already at version $VERSION" +
-    fi +
-+
- +
-function download() { +
-    wget -c https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64 +
-    wget -c https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.asc +
-    wget -c https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.sha256 +
-    sha256sum -c gitea-$VERSION-linux-amd64.sha256 +
-    gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 +
-    gpg --verify gitea-$VERSION-linux-amd64.asc gitea-$VERSION-linux-amd64 +
- +
-+
- +
-function stop() { +
-    systemctl stop gitea +
-+
- +
-function backup() { +
-    this step takes some times +
-    su - gitea -c "cd /srv/gitea/bin ; /srv/gitea/bin/gitea dump --tempdir /var/tmp/ -c /etc/gitea/gitea.ini" +
-+
- +
-function upgrade() { +
-    chmod u+x gitea-$VERSION-linux-amd64 +
-    chown gitea.gitea gitea-$VERSION-linux-amd64 +
-    ln --force gitea-$VERSION-linux-amd64 gitea +
-+
- +
-function start() { +
-    systemctl start gitea +
-+
- +
-for fun in "${@:-verify download stop backup upgrade start}" ; do +
-    $fun +
-done+
 </code> </code>
   * surveiller les logs :<code bash>   * surveiller les logs :<code bash>
Ligne 721: Ligne 750:
 ===== Procédure de restauration ===== ===== Procédure de restauration =====
  
-Il [[https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore|n'existe pas de commande gitea pour restaurer une sauvegarde]], il faut décompresser la sauvegarde et copier les différents éléments:+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''   * le fichier de configuration ''app.ini''
   * les données, les logs, les dépôts   * les données, les logs, les dépôts
Ligne 731: Ligne 760:
  
   * modération des comptes: suppression sans préavis ni avertissement des comptes créés par des robots   * 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.   * 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.1641255844.txt.gz · Dernière modification : 2022/01/04 00:24 de pilou