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
doc:forgejo [2024/06/19 18:45] Zatalyzdoc:forgejo [2025/02/27 07:46] (Version actuelle) – [Gestion des badbot] Zatalyz
Ligne 31: Ligne 31:
 </WRAP> </WRAP>
  
-===== Transférer un dépôt depuis Gitlab =====+ 
 + 
 +===== Pour les utilisateurs avancés ===== 
 +==== Transférer un dépôt depuis Gitlab ====
 Aller sur le menu "+" (en haut à droite à côté de votre avatar), sélectionner "Nouvelle migration", choisissez Gitlab. Aller sur le menu "+" (en haut à droite à côté de votre avatar), sélectionner "Nouvelle migration", choisissez Gitlab.
  
Ligne 37: Ligne 40:
  
 Pour le reste, ça devrait aller tout seul, Forgejo pointe la doc de Gitlab sur comment se créer un jeton d'accès, y'a des options de dev qui devraient vous parler... Et voilà, ça devrait être migré ! Pour le reste, ça devrait aller tout seul, Forgejo pointe la doc de Gitlab sur comment se créer un jeton d'accès, y'a des options de dev qui devraient vous parler... Et voilà, ça devrait être migré !
- 
-===== Pour les utilisateurs avancés ===== 
-<WRAP center round todo 60%> 
-Les trucs un peu compliqués que permet le logiciel, ou qui sont accessibles avec des droits précis. 
-</WRAP> 
- 
 ===== Pour les administrateurs de Numenaute ===== ===== Pour les administrateurs de Numenaute =====
 ==== Installation ==== ==== Installation ====
Ligne 115: Ligne 112:
 ==== Upgrade ==== ==== Upgrade ====
 Vérifier s'il y a les fichiers de configuration à changer avant tout. Vérifier s'il y a les fichiers de configuration à changer avant tout.
-== Upgrade simple ==+=== Upgrade simple ===
   wget https://codeberg.org/forgejo/forgejo/releases/download/v1.*.*-*/forgejo-1*.*-*-linux-amd64   wget https://codeberg.org/forgejo/forgejo/releases/download/v1.*.*-*/forgejo-1*.*-*-linux-amd64
   chmod +x forgejo-1.*.*-*-linux-amd64   chmod +x forgejo-1.*.*-*-linux-amd64
Ligne 123: Ligne 120:
   sudo service forgejo start   sudo service forgejo start
  
-== Upgrade complexe ==+=== Upgrade complexe ===
  
 page à check : https://forgejo.org/docs/latest/admin/upgrade/ page à check : https://forgejo.org/docs/latest/admin/upgrade/
 +
 +
 +==== Gestion des badbot ====
 +Y'a des bots malpolis sur le web... Sur Forgejo, leur impact peut être vraiment gênant.
 +
 +=== Remplissage des archives ===
 +Lorsque quelqu'un télécharge une archive d'un dépôt (en zip ou tar.gz), cela génère une "archive". Par défaut, elles ont juste stockées. Mais cela peut rapidement remplir l'espace disque. On va donc faire que ce soit purgé régulièrement. 
 +
 +<code ini /etc/forgejo/app.ini>[repository]
 +ARCHIVE_RETENTION_DAYS = 1</code>
 +
 +On peut évidement mettre plus si on a réglé le souci des badbots, parce que générer les archives prends aussi un peu de puissance sur le serveur (donc "moins" c'est parfois mieux). 
 +
 +Redémarrer le service : 
 +  sudo systemctl restart forgejo
 +
 +=== Bannir les vilains via nftables et Fail2ban ===
 +<WRAP center round tip 60%>
 +Si le proxy gère les accès, cela se paramètre sur le proxy.
 +</WRAP>
 +Configuration de nftables : 
 +<code bash /etc/nftables.conf>
 +table inet filter {
 +    # création du set où les vilaines ip seront notées
 +    set bad_ips {
 +        type ipv4_addr;
 +        flags dynamic;
 +        timeout 24h;
 +    }
 +
 +    chain input {
 +        type filter hook input priority 0; policy accept;
 +        # action sur ces vilaines ip : les balancer dans le vide
 +        ip saddr @bad_ips drop;
 +    }
 +}
 +</code> 
 +
 +Recharger nftables : 
 +  sudo nft -f /etc/nftables.conf
 +Pour bloquer une ip suspecte qu'on n'a pas encore "eu" via un filtre de fail2ban : 
 +  sudo nft add element inet filter bad_ips { xx.xxx.xxx.xxx }
 +
 +Voir les IPs bannies :
 +  sudo nft list set inet filter bad_ips
 +
 +Débloquer une IP :
 +  sudo nft delete element inet filter bad_ips { xx.xxx.xxx.xxx }
 +
 +
 +
 +Puis on installe Fail2Ban et on le paramètre avec ces deux fichiers 
 +<code bash /etc/fail2ban/filter.d/nginx-runner.conf>
 +[Definition]
 +failregex = ^<HOST> - .*"POST /api/actions/runner.* HTTP.*"
 +ignoreregex =
 +</code>
 +
 +
 +<code bash /etc/fail2ban/jail.d/custom.conf>
 +[DEFAULT]
 +maxRetry = 4
 +findtime = 3h
 +bantime = 3d
 +banaction = nftables-multiport
 +
 +[nginx-runner]
 +enabled = true
 +filter = nginx-runner
 +port = http,https
 +logpath = /var/log/nginx/forgejo.access.log
 +maxretry = 1
 +findtime = 600
 +bantime = 86400
 +banaction = nftables-multiport
 +</code>
 +
 +Et on active le service : 
 +  sudo systemctl enable fail2ban
 +  sudo systemctl restart fail2ban
 +
 +Pour voir quelles ips sont dans la jail : 
 +  sudo fail2ban-client status nginx-runner
 +
 +
 +
  
 {{tag>Brouillon Documentation}} {{tag>Brouillon Documentation}}
  
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
doc/forgejo.1718822722.txt.gz · Dernière modification : 2024/06/19 18:45 de Zatalyz