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 개체를 다시 프록시하는 설정이었습니다.

관련 정보