大家好,我开源了一个小工具 devfs:一个面向本地开发/测试/CI 的 S3-compatible file server。目标很简单:当你项目里需要对象存储联调时,给你一个快速、可控、可重复的 S3 endpoint

项目地址:https://github.com/dollarkillerx/devfs


为什么做 devfs

日常开发里经常遇到这些场景:

  • 业务代码依赖 S3(上传/下载/列目录/删除),但本地没法稳定复现
  • 真实云 S3:慢、贵、环境隔离麻烦,CI 更是不好搞
  • 纯 mock:行为不一致,很多 bug 到上线才暴露

所以我写了 devfs:让开发环境像“连真实 S3”一样跑起来,但启动成本更低,适合联调和自动化测试。


devfs 主要特性

  • S3 API 兼容(开发常用子集):适合跑上传/下载/列举/删除等联调流程
  • Docker Compose 一键启动:团队协作、换机器、CI 都更容易复现
  • 配置简单:支持 .env / flags 等方式,适配本地跑、容器跑
  • 自带 Web UI(如果你更习惯可视化操作/检查数据)

(更多细节在 README)


快速开始(Docker Compose)

git clone https://github.com/dollarkillerx/devfs
cd devfs
docker compose up -d

默认 endpoint:

  • http://127.0.0.1:9000

(账号/密码、端口等可以用 .env 配置,README 有示例)


使用示例

1)AWS CLI

适合快速验证桶/对象操作链路
aws --endpoint-url http://127.0.0.1:9000 s3 mb s3://test
aws --endpoint-url http://127.0.0.1:9000 s3 cp ./a.txt s3://test/a.txt
aws --endpoint-url http://127.0.0.1:9000 s3 ls s3://test

2)Python boto3

适合后端服务快速写集成测试

(README 有完整示例:建桶、上传、下载、列举、删除)

3)Go aws-sdk-go-v2

适合 Go 项目联调 / 单测

(README 有完整示例,并提示了 path-style 等常见坑位)


适用范围 & 规划

devfs 目前主要定位是:开发联调 / CI 集成测试
接下来我会根据大家的反馈优先补齐更常用的 S3 行为。

你们最希望我优先支持哪些能力?比如:

  • Presigned URL
  • Multipart upload
  • 更丰富的 List/分页行为
  • 事件通知(webhook / queue)
  • 兼容更多 SDK 的边角行为

欢迎试用、提 Issue/PR:https://github.com/dollarkillerx/devfs

标签: none

添加新评论