
jasonwhite0/rudolfsRudolfs是一个专为Git LFS(Large File Storage)设计的服务器应用,用于存储和管理Git LFS对象。它以高性能和缓存机制为核心特性,采用AWS S3作为后端存储,旨在提供可靠、可扩展且高效的Git LFS对象存储解决方案,适用于需要处理大型二进制文件的Git工作流场景。
bashdocker run -d \ --name rudolfs \ -p 8080:8080 \ -v /path/to/local/cache:/cache \ -e AWS_ACCESS_KEY_ID=your-aws-access-key \ -e AWS_SECRET_ACCESS_KEY=your-aws-secret-key \ -e S3_BUCKET=your-lfs-bucket \ -e S3_REGION=us-east-1 \ -e CACHE_DIR=/cache \ jasonwhite/rudolfs
yamlversion: '3' services: rudolfs: image: jasonwhite/rudolfs container_name: rudolfs ports: - "8080:8080" volumes: - ./cache:/cache environment: - AWS_ACCESS_KEY_ID=your-aws-access-key - AWS_SECRET_ACCESS_KEY=your-aws-secret-key - S3_BUCKET=your-lfs-bucket - S3_REGION=us-east-1 - CACHE_DIR=/cache - PORT=8080 - LOG_LEVEL=info restart: unless-stopped
| 环境变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务器监听端口 | 8080 |
AWS_ACCESS_KEY_ID | AWS访问密钥ID(用于S3认证) | 无(必填) |
AWS_SECRET_ACCESS_KEY | AWS密钥(用于S3认证) | 无(必填) |
S3_BUCKET | 存储LFS对象的S3 bucket名称 | 无(必填) |
S3_REGION | S3 bucket所在区域 | us-east-1 |
S3_ENDPOINT | S3兼容存储的自定义端点(如MinIO) | 空(使用AWS默认) |
CACHE_DIR | 本地缓存目录路径 | /tmp/rudolfs |
CACHE_SIZE_LIMIT | 缓存大小限制(如10GB) | 无限制 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
AUTH_HEADER | 启用基本认证时的header名称(如Authorization) | 空(禁用认证) |
在Git仓库中配置LFS端点:
bashgit config lfs.url "[***]"
若启用认证,配置凭据:
bashgit config lfs.credentials.username "your-username" git config lfs.credentials.password "your-password"
通过CACHE_SIZE_LIMIT限制缓存总大小,超过时自动清理最久未使用的对象:
bash-e CACHE_SIZE_LIMIT=50GB
bash-e S3_ENDPOINT="[***]" \ -e S3_FORCE_PATH_STYLE=true \ # 启用路径风格访问(非虚拟主机风格)
bash-e AUTH_HEADER="Authorization" \ -e AUTH_REALM="Rudolfs LFS Server" \ -e AUTH_USERS="user1:pass1,user2:pass2" # 逗号分隔的用户名:密码对
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务