使用gitea在s3上進行GIt lfs無法克隆

使用gitea在s3上進行GIt lfs無法克隆

我們正在對 gitea 進行測試安裝,並嘗試使用 gitea lfs to s3 功能。配置很簡單,我們就是這樣做的:

[lfs]
#PATH = /opt/gitea/data/lfs
STORAGE_TYPE = minio
MINIO_ACCESS_KEY_ID = KEY
MINIO_SECRET_ACCESS_KEY = SECRET
MINIO_BUCKET = NAME
MINIO_LOCATION = us-east-1
MINIO_USE_SSL = true
SERVE_DIRECT = true
MINIO_ENDPOINT = s3.us-east-1.amazonaws.com

這有效,我創建了一個儲存庫,並使用 lfs 配置克隆了另一個我可以使用的儲存庫。我設法提交並推送所有 lfs 文件,並將所有內容上傳到 s3 上。那太好了。

但現在我在克隆存儲庫時遇到問題,克隆確實獲取了 git 文件,但是當嘗試獲取 s3 上的 lfs 文件時,我收到此消息:

Error downloading object: FILE (hash): Smudge error: Error downloading  FILE (hash): LFS: Get "https://NAME.s3.dualstack.us-east-1.amazonaws.com/lfs/PATHTOFILE": dial tcp: lookup NAME.s3.dualstack.us-east-1.amazonaws.com on IP:53: dial udp IP:53: socket: too many open files

據我所知,它只是試圖獲取一個文件,但即使這樣也不起作用。

有人見過嗎?

答案1

我遇到了同樣的問題,但我不確定根本原因是什麼。看來 git-lfs 用戶端中的某些內容不喜歡 gitea 提供的直接/簽名 S3 URL。

我的解決方案是設置SERVE_DIRECT = false,它基本上透過 gitea 代理所有 LFS 對象,然後將它們傳回給客戶端。

相關內容