floci
免费的本地 AWS 模拟器,无需账号注册,一行命令启动 52 种 AWS 服务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
免费的本地 AWS 模拟器,无需账号注册,一行命令启动 52 种 AWS 服务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:你正在高铁上处理一个紧急需求,需要调试 AI 应用的 S3 文件上传逻辑——但没有网络,连不上 AWS。云原生开发被基础设施卡脖子的焦虑,每个开发者都不陌生。
Floci 解决的就是这个问题:把 52 种 AWS 服务"装进"你的本地 Docker,一行命令启动,随时随地开发调试,云代码本地跑。
Floci 源自"floccus"——积云的一种,看起来像爆米花🌽。创始人希望这个工具像积云一样轻量、随处可见,却又能承载重量级的云开发工作。
Floci 的诞生背景很明确:LocalStack 社区版越来越"难用"。付费墙、功能限制、认证令牌……这些障碍让开发者社区需要一个新的免费替代品。
Floci 不是一个"简化版 AWS",而是尽可能追求协议级兼容的模拟器。
应用服务层:S3(对象存储)、DynamoDB(NoSQL 数据库)、SQS(消息队列)、SNS(消息通知)、Lambda(函数计算)——这些是日常开发接触最多的服务,Floci 均有完整支持。
数据服务层:RDS(关系数据库)、ElastiCache(Redis)、Neptune(图数据库)、OpenSearch(搜索引擎)——其中 Lambda、RDS、Neptune 等使用真实 Docker 容器而非代码模拟,保证行为保真度。
事件与编排:EventBridge、Step Functions、CloudWatch Logs/Metrics——完整的事件驱动编排能力。
基础设施层:API Gateway、Cognito(身份认证)、ECS/EC2/EKS(容器与虚拟机)、Secrets Manager、KMS(密钥管理)——覆盖从认证到部署的完整链路。
AI 相关特性:支持 Bedrock(Claude/GPT 模型调用)的本地模拟,以及 Athena(数据湖查询)和 MSK(Kafka 流处理),这些都是 AI 应用常用的后端服务。
一行命令:
floci start
eval $(floci env)
aws s3 mb s3://my-bucket
这是最理想的情况。Floci 提供官方 CLI,安装后 floci start 自动拉取镜像、启动服务。
Docker Compose:
services:
floci:
build: .
ports:
- "4566:4566"
- "6379-6399:6379-6399"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
对于 CI/CD 流水线或 Kubernetes 环境,直接 docker compose up 即可。多阶段 Dockerfile(Java 25 + Quarkus 构建 + Alpine JRE 运行时)也保证了镜像体积可控。
存储模式可选:内存(最快,重启丢失)、持久化(named volumes)、混合模式、WAL 日志模式,满足从快速原型到生产级测试的不同需求。
Floci 的核心设计哲学是"零改造接入"——你不需要改一行代码,只需要把 endpoint 指向 http://localhost:4566。
AWS SDK v2(Java):
var client = DynamoDbClient.builder()
.endpointOverride(URI.create("http://localhost:4566"))
.region(Region.US_EAST_1)
.credentialsProvider(StaticCredentialsProvider.create(
AwsBasicCredentials.create("test", "test")))
.build();
AWS CLI:
aws dynamodb create-table --table-name demo-table ...
Python Boto3、Node.js AWS SDK、Terraform、CDK、OpenTofu——所有主流 AWS 工具链均可直接指向 Floci,不需要任何特殊配置。docker-compose 中内置 awscli 并配置了 endpoint URL 覆盖,开箱即用。
Testcontainers 集成是另一个亮点。Floci 官方维护了 Java、Node.js、Python 三种语言的 Testcontainers 模块,每个测试用例可以启动独立的 Floci 容器实例,隔离测试环境,告别共享状态的坑。
Floci 选择 Java 25 + Quarkus 3.32 作为技术栈,这是一个务实而高效的选择:
代码质量方面:完整的 JUnit 5 测试套件、RestAssured 集成测试、详细的 AGENT.md 指导规范(连 AI 编码助手都有操作手册),说明项目维护水准较高。
| 特性 | Floci | LocalStack 社区版 |
|---|---|---|
| 价格 | 完全免费 | 免费版功能受限 |
| 认证 | 无需 token | 需要注册获取 token |
| 服务数量 | 52+ 种 | 更多但部分需付费 |
| Docker 依赖 | 必须 | 必须 |
| Testcontainers | 官方支持 | 社区支持 |
| 活跃度 | 快速增长 | 成熟稳定 |
适用场景:
不适用场景:
Floci 仓库在 2025 年初创建,随后快速增长至 13K+ stars,GitHub trending 多次上榜。它代表了云开发工具民主化的一个方向:让每一个开发者都能在本地完整复现云环境,而不依赖云厂商的"免费额度"或商业产品。随着 Claude/GPT 等 AI 编程工具的普及,Floci 这类"AI 友好的 AWS 沙箱"价值会更加凸显。