我有一个 MinIO 服务器,其设置如下(docker compose):
services:
minio:
image: minio/minio
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ACCESS_KEY: <your-access-key>
MINIO_SECRET_KEY: <your-secret-key>
volumes:
- ./data:/data
command: server /data --console-address :9001
据我所知,到目前为止一切顺利。我创建了一个名为的存储桶git-lfs
,我可以按如下方式测试它:
$ ~/Downloads/mc.exe ls my-minio
[2023-05-03 09:35:41 CEST] 0B git-lfs/
看起来好像我可以访问。
我的 git 配置中有以下部分:
[lfs]
locksverify = false
storage = minio
url = http://10.0.10.196:9000/git-lfs
accesskey = <your-access-key>
secretkey = <your-secret-key>
repositoryformatversion = 0
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge --skip -- %f
process = git-lfs filter-process --skip
required = true
访问密钥和秘密密钥已从该帖子中删除。
所以......问题是,每当我尝试将任何应该进入 lfs 服务器的内容推送到 lfs 服务器时,我都会收到以下响应:
$ git push origin lfsstuff
Uploading LFS objects: 0% (0/6), 0 B | 0 B/s, done.
batch response: Client error: http://10.0.10.196:9000/git-lfs/objects/batch
error: failed to push some refs to 'git+ssh://my-git-server-here/~/Repositories/ProjectHere.git'
桶仍然是空的,而我得到的回应http://10.0.10.196:9000/git-lfs/objects/batch
是:
<Error>
<script/>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>objects/batch</Key>
<BucketName>git-lfs</BucketName>
<Resource>/git-lfs/objects/batch</Resource>
<RequestId>175BEAF87C025894</RequestId>
<HostId>e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855</HostId>
</Error>
因此,显然写访问或缺少密钥存在问题。但我不知道如何继续调试或修复它。从我能找到的所有文档来看,这应该已经可以正常工作了……但事实并非如此。如果您能提供任何建议,我将不胜感激。
编辑:
正如 larsks 所说,MinIO 实际上并不支持 git lfs api。
我很想在两者之间放置一个兼容的服务器,如下所述这里(github 上的 jasonwhite/rudolfs),但我似乎无法让它工作。我在 github 上的 rudolfs 讨论中添加了一个问题。