🐳 Auto-hébergement Docker du projet
github-readme-stats, de @anuraghazra
Déployez votre propre instance de GitHub Readme Stats avec Docker. Cette version dockerisée vous permet de contourner les limitations de taux de l'API GitHub imposées sur l'instance publique Vercel.
- Docker
- Docker Compose
- Un token d'accès personnel GitHub (PAT) de type Classic
- Allez sur GitHub Settings → Developer Settings → Personal Access Tokens → Tokens (classic)
- Cliquez sur "Generate new token" → "Generate new token (classic)"
- Permissions requises (scopes à cocher) :
- ✅
repo(cocher toutes les sous-options) - ✅
read:user - ✅
user:email
- ✅
- Cliquez sur "Generate token" et copiez-le immédiatement
⚠️ Important : Le token ne sera affiché qu'une seule fois. Conservez-le en lieu sûr.
Créez un fichier .env à la racine du projet avec le contenu suivant :
# Token GitHub (Classic PAT avec permissions : repo, read:user, user:email)
PAT_1=ghp_votre_token_github_ici
# Durée du cache en secondes (min: 21600 = 6h, max: 86400 = 24h)
CACHE_SECONDS=21600Le script run.sh est configuré par défaut pour un déploiement local sur le port 9000.
- Rendez le script exécutable :
chmod +x run.sh- Lancez le script :
./run.shLe service sera disponible sur http://localhost:9000
Si vous utilisez Cloudflare Tunnel (comme cloudflared) pour exposer vos services en ligne, modifiez le fichier run.sh :
# Commentez cette ligne :
# DOCKER_COMPOSE_FILE="$ROOT_DIR/docker-compose.local.yml"
# Décommentez cette ligne :
DOCKER_COMPOSE_FILE="$ROOT_DIR/docker-compose.cloudflared.yml"Le fichier docker-compose.cloudflared.yml utilise le réseau externe cloudflared_proxy au lieu d'exposer un port.
Une fois le service démarré, vous pouvez utiliser les mêmes URL que la version Vercel officielle :


docker compose -f docker-compose.local.yml down
# ou
docker compose -f docker-compose.cloudflared.yml downdocker logs github-readme-statsRelancez simplement le script run.sh qui :
- Supprime l'ancienne version
- Clone la dernière version du dépôt
- Reconstruit le conteneur Docker
- Nettoie les images inutilisées
Le script automatise :
- Le clonage du projet
github-readme-stats - La construction de l'image Docker
- Le démarrage du conteneur
- Le nettoyage des anciennes images
Les logs sont sauvegardés dans update.log.
Les limites par défaut du conteneur sont :
- RAM : 200 MB maximum
- CPU : 50% d'un cœur maximum
- Processus : 50 maximum
Ces valeurs peuvent être ajustées dans les fichiers docker-compose.*.yml.
Ce projet de déploiement Docker est sous licence MIT. Voir LICENSE pour plus de détails.
Basé sur github-readme-stats par @anuraghazra, également sous licence MIT.
Pour plus d'informations sur les options disponibles (thèmes, personnalisation, etc.), consultez la documentation officielle.