Git LFSは別にリポジトリサーバー側で対応が必要なわけではなくて、LFSサーバーが必要なだけ

GitHubやbitbucketのLFS対応もなんかストレージの料金がすごい高いなぁとおもっていて、リポジトリをホストするサーバーで対応が必要とおもっていたのですが、調べてみるとどうやら違うようでした。

ydkk.hateblo.jp

LFSサーバーをAWS Lambdaに構築して、S3をストレージにする実装

仕組みとしてはLFS サーバーとして、ラージファイルを保存した/保存できるURLを提供する。
git lfsのコマンドがpull / pushの時にLFSサーバーと連携して、オブジェクト(LFS track対象のファイル)をLFSサーバーが返すURLにGET / PUTするという仕組みでした。

他にもLFSサーバーと連携しないstandalone transfer agentの仕組みなどがあるようです。
https://github.com/git-lfs/git-lfs/blob/master/docs/custom-transfers.md


LFSサーバーなしでS3をストレージにする実装としては、下記のようなものがありました。
github.com


なんか不思議な感じです。

GitHubやbitbucketもAPIトークンを登録するとか、AzureのBlog StorageのSASトークンを登録することで、クラウド上で提供されているストレージをLFSのバックエンドとして使わせるとかできるはずなのになんでしないんだろうという感じです。
みんながほしいソリューションはそっちじゃなかろうかとおもうのです。