guides/serveur/forgejo
isUnknown e33395dc35 Réorganiser les guides et ajouter architecture filesystem
- Nouvelle structure : linux-essentials/ et forgejo/
- Nouveau guide : architecture-filesystem.md (comprendre /etc, /var, etc.)
- Déplacement et renommage des guides existants
- README pour chaque dossier
- Suppression des sections auteurs

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 08:37:50 +01:00
..
bloquer-telechargements-abusifs.md Réorganiser les guides et ajouter architecture filesystem 2026-02-05 08:37:50 +01:00
QUICK-START.md Réorganiser les guides et ajouter architecture filesystem 2026-02-05 08:37:50 +01:00
README.md Réorganiser les guides et ajouter architecture filesystem 2026-02-05 08:37:50 +01:00

Guides Forgejo

Guides spécifiques pour administrer et sécuriser une instance Forgejo (forge Git auto-hébergée).

📚 Guides disponibles

🚀 Démarrage rapide

QUICK-START.md

  • Objectif : Sécuriser Forgejo contre les bots en 15 minutes
  • Contenu : Configuration Fail2ban, rate limiting, cron de nettoyage
  • Niveau : Intermédiaire
  • Temps : 15 min

🛡️ Guide complet

bloquer-telechargements-abusifs.md

  • Objectif : Empêcher les bots de saturer le disque avec des téléchargements massifs d'archives
  • Contenu : Fail2ban détaillé, rate limiting, expiration des archives, monitoring, 5 solutions
  • Niveau : Intermédiaire
  • Temps : 30-60 min

🎯 Par situation

Disque saturé par repo-archive

Symptôme : /var/lib/docker/.../repo-archive fait 40-50G

Action rapide :

  1. Appliquer : QUICK-START.md
  2. Nettoyage : find /path/repo-archive -type f -delete

Solution complète :

  1. Lire : bloquer-telechargements-abusifs.md
  2. Appliquer la configuration recommandée
  3. Monitorer pendant 48h

Configuration préventive

Vous installez Forgejo ou voulez sécuriser préventivement :

  1. Lire la section "Configuration complète" de bloquer-telechargements-abusifs.md
  2. Appliquer avant de rendre public

⚙️ Configuration type recommandée

Fail2ban (/etc/fail2ban/jail.d/forgejo.conf)

[forgejo-archive]
enabled = true
filter = forgejo-archive
logpath = /var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log
maxretry = 8
findtime = 600
bantime = 21600
bantime.increment = true
bantime.factor = 2
bantime.maxtime = 604800

Forgejo (app.ini)

[api]
ENABLE_RATE_LIMIT = true
RATE_LIMIT_BURST = 20
RATE_LIMIT_PERIOD = 60s

[repository.local]
ARCHIVE_EXPIRY = 3600

Cron

# Nettoyage toutes les 6h (fichiers de +6h)
0 */6 * * * find /path/repo-archive -type f -mmin +360 -delete

🔍 Monitoring quotidien

# Taille du cache (objectif : < 5G)
du -sh /home/debian/forgejo/data/gitea/repo-archive

# Fail2ban status
sudo fail2ban-client status forgejo-archive

# Top 5 IP actives (24h)
docker logs forgejo --since 24h | grep "archive" | grep -oP '\d+\.\d+\.\d+\.\d+' | sort | uniq -c | sort -rn | head -5

# Nombre d'archives téléchargées (24h)
docker logs forgejo --since 24h | grep "archive" | wc -l

📊 Métriques de santé

Métrique Valeur saine Alerte
Taille cache repo-archive < 5 GB > 10 GB
Nombre de fichiers < 300 > 500
IP bannies/jour 1-5 > 10
Archives téléchargées/jour < 100 > 500

🆘 Dépannage rapide

Le cache se remplit encore

# 1. Vérifier la config Forgejo
cat /path/to/app.ini | grep -A3 "\[api\]"
docker restart forgejo

# 2. Vérifier Fail2ban
sudo fail2ban-client status forgejo-archive

# 3. Identifier les IP actives
docker logs forgejo --since 1h | grep "archive" | grep -oP '\d+\.\d+\.\d+\.\d+' | sort | uniq -c | sort -rn

# 4. Bannir manuellement si besoin
sudo fail2ban-client set forgejo-archive banip IP_SUSPECTE

Fail2ban ne bannit pas

# Tester le filtre
sudo fail2ban-regex /var/lib/docker/containers/.../...json.log /etc/fail2ban/filter.d/forgejo-archive.conf

# Vérifier les logs
sudo journalctl -u fail2ban -n 50

# Redémarrer
sudo systemctl restart fail2ban

← Retour à l'index principal