GitHub readme statsが表示されなくなった

下記エラーが発生し、github readme stats が表示されなくなっていたので解消方法を調べました。

Something went wrong! file an issue at https://tiny.one/readme-stats

Maximum retries exceeded

Please add an env valiable called PAT_1 with your github token in vercel

原因

github readme stats は vercel というプラットフォーム上で動いているのですが、毎月大量のリクエストが来ていて時々捌けなくなるとのこと( issue より)。

解決方法

下記 issue に解決方法がまとまっています。

https://github.com/anuraghazra/github-readme-stats/issues/1471

自前の vercel インスタンスを立てて、フォークした github-readme-stats をデプロイ。そのデプロした github-readme-stats を向くようにリンクを修正する。本家の方ではなく自前で用意した環境に見ることで負荷分散されるので、結果正常にリクエストを捌けるようになりエラーは解消されるとのこと。

youtube で解説動画もあります。とてもわかりやすいです。

https://www.youtube.com/watch?v=n6d4KHSKqGk&t=107s

ちなみに vercel でデプロイするとき下記のようなエラーが出たのですが、vercel.json の maxDuration を 10 に修正することで解消しました( こちらの issue に詳細な記述があります)。

The value for maxDuration must be between 1 second and 10 seconds, in order to increase this limit upgrade your plan: https://vercel.com/pricing

作業内容リスト

一応整理しておきます。

  1. github-readme-stats を自分の github アカウントにフォークする
  2. github で Personal access token を発行
  3. vercel のアカウントを作成 → プロジェクトを作成 → フォークした github-readme-stats をインポート
  4. 環境変数 PAT_1 を設定(値は発行した github のトークン)
  5. デプロイ

まとめ

  • 本家 github-readme-stats でリクエストが捌けなくなるのが原因
  • なので自前で github-readme-stats の環境を起動し負荷を分散することで解消できる