
Floci
A young, MIT-licensed family of local emulators for AWS, Azure, Google Cloud and Oracle Cloud, built as a free drop-in for LocalStack and pitched at AI coding agents.
- What it is
- Local cloud emulators
- Type
- Open source
- Made by
- Floci project (led by Hector Ventura)
- License
- MIT (all four emulators, the CLI and the Testcontainers modules)
- Facts checked
- 6 October 2026
What it is
Floci is four separate emulators, each a single Docker image with one port: floci for AWS on 4566, floci-az for Azure on 4577, floci-gcp for Google Cloud on 4588 and floci-oci for Oracle Cloud on 4599. They are written in Java on Quarkus and compiled ahead of time to native binaries with GraalVM Mandrel, so the project measures a start in about 24 ms and about 13 MiB of memory at idle. Simple services such as S3, SQS, SNS, DynamoDB, IAM and Step Functions are emulated inside the process, with state kept in memory or, if you choose, flushed to disk or a write-ahead log. Where that would be too shallow, Floci starts real engines through the Docker socket: Lambda functions in AWS’s runtime images, RDS as real PostgreSQL, MySQL or MariaDB, ElastiCache as Valkey, MSK as Redpanda and EKS as k3s. Any credentials work; IAM and service control policies are evaluated only if you turn enforcement on.
The AWS emulator is built to replace LocalStack’s retired Community image. It answers on the same port, translates LocalStack’s environment variables, runs scripts from /etc/localstack/init/, serves /_localstack/health and prints the Ready. line that Testcontainers waits for, so moving is usually a one-line image change. It is free for any use: no account, no auth token, no paid tiers and no telemetry. The website now leads with AI coding agents: point the agent at Floci instead of a real account, so there are no cloud credentials to leak and nothing to bill. The project is seven months old and moves fast, with releases every two weeks.
Why teams pick it
- MIT licence with no account, token, feature gates or telemetry, so it can run in any company’s CI or be embedded in other tools
- Drop-in for LocalStack Community setups: same port, translated settings, init scripts and health endpoint
- Small and fast by its own benchmarks: a native binary that starts in milliseconds, in an image of about 80 MB compressed (September 2026)
- Broad AWS coverage (about 125 services by its own count), with real Docker-backed engines for Lambda, RDS, ElastiCache, MSK and EKS
- One model across four clouds, plus Testcontainers modules for Java, Go, Node.js, Python and .NET
Watch out for
- Young: first commit in March 2026, releases every two weeks, and a 2.0 in September that already broke some Step Functions definitions
- Coverage counts are self-reported and uneven: Bedrock Runtime returns canned answers, Textract and Transcribe return dummy data, and FIS experiments inject no faults
- The Azure, Google Cloud and Oracle Cloud emulators are pre-1.0, and the creator says they are short of maintainers;
floci-gcphas no second maintainer - No company or paid support behind it; the project leans on one lead maintainer and volunteers
- Docker-backed services need the host’s Docker socket, and the documented setup runs the container as root, which hands it control of the host’s Docker
Alternatives
What all local cloud emulators have in common →
LocalStackCommercialThe best-known AWS emulator: one Docker container that answers more than 100 AWS APIs on localhost:4566, now free only for non-commercial use.How it fits with other technologies
What Floci uses
- Flociis a drop-in replacement forLocalStack
- Flociemulates the API ofAmazon S3
- Flociemulates the API ofAmazon DynamoDB
- Flociemulates the API ofAmazon SQS
- Flociruns functions in AWS runtime images, likeAWS Lambda
- Flociemulates the API of (floci-az)Azure Blob Storage
- Flociemulates the API of (floci-gcp)Google Cloud Pub/Sub
- Flociemulates the API of (floci-gcp)Google Cloud Storage
- Flociis a local deploy target forTerraform
compose.yaml: local AWS and Azure for tests or a coding agent · yaml
services:
floci: # AWS on :4566
image: floci/floci:latest # MIT, no account or token
ports: ["4566:4566"]
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Lambda, RDS, ElastiCache run as real containers
environment:
FLOCI_STORAGE_MODE: memory # a clean cloud on every start
FLOCI_SERVICES_IAM_ENFORCEMENT_ENABLED: "true" # check IAM policies (off by default)
floci-az: # Azure on :4577
image: floci/floci-az:latest
ports: ["4577:4577"]
# docker compose up -d
# export AWS_ENDPOINT_URL=http://localhost:4566 AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_DEFAULT_REGION=us-east-1
# aws s3 mb s3://uploads && pytest tests/The four emulators#
Each is its own repository and image. Service counts are the project’s own, checked on 6 October 2026.
| Emulator | Cloud | Port | Services | Version | Repository started |
|---|---|---|---|---|---|
| floci | AWS | 4566 | About 125 | 2.2.0 | March 2026 |
| floci-az | Azure | 4577 | 28 | 0.14.0 | April 2026 |
| floci-gcp | Google Cloud | 4588 | 26 | 0.10.0 | May 2026 |
| floci-oci | Oracle Cloud | 4599 | 8 | 0.4.2 | July 2026 |
- Some listed services are control-plane stubs that store settings but don’t act on them; the per-service docs say which.
Floci and LocalStack#
Floci exists because of LocalStack’s 2026 change, so this is the comparison most readers need.
| Floci | LocalStack | |
|---|---|---|
| Account or token | None | Required for current releases since 23 March 2026 |
| Licence and price | MIT, free for any use | Proprietary; free Hobby plan for non-commercial use, $39 to $89 per developer per month otherwise |
| Clouds | AWS, Azure, Google Cloud, Oracle Cloud | AWS and Snowflake; Azure in early access |
| Persistence and IAM checks | Free, opt-in | Paid plans |
| Telemetry | None | Enforced on the free plan |
| Support | GitHub issues, volunteers | Commercial support and SLAs on paid plans |
| Track record | Since March 2026 | Since 2016 |
See it in a real stack
No architecture uses Floci yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2025–2026
In December 2025 LocalStack announced that its free, open-source Community image would stop getting updates and that, from March 2026, current releases would need an account and an auth token, even in CI. Hector Ventura, a developer in Texas, pushed the first commit of Floci on 15 March 2026 and tagged 1.0.0 the same day: an MIT-licensed AWS emulator on LocalStack’s port, first published as hectorvent/floci. The name comes from floccus, a cloud formation that looks like popcorn.
The timing found an audience. A month in, Ventura counted nearly 4,000 GitHub stars, more than 60 contributors and over 450 merged pull requests. The project moved to the floci-io organisation and added emulators for Azure in April, Google Cloud in May and Oracle Cloud in July. By mid-September it had shipped 2.0, passed 24,000 stars and 2.6 million Docker pulls, and counted 284 contributors on the AWS emulator, among them, he notes, Maven’s creator Jason van Zyl and David Phillips, a creator of Presto and Trino.
Ventura’s monthly reports are candid about the weak spots: outside AWS the emulators lack maintainers, and in one recent month he wrote 73% of what merged on the Oracle Cloud emulator himself.
Why it’s built this way
- A Quarkus native binary
- Ventura’s stated goal is for Floci to be the smallest, fastest thing in a pipeline. Compiling Java ahead of time with GraalVM Mandrel removes JVM warm-up, so the emulator can start inside an edit loop or a small CI runner.
- LocalStack compatibility as a feature
- Most users arrive from LocalStack, so Floci keeps port 4566, translates
LOCALSTACK_*settings, runs the same init scripts and prints the same readiness line. Switching becomes a one-line change. - Real containers where emulation would be shallow
- Databases, brokers and function runtimes are hard to fake well, so Floci starts real PostgreSQL, Valkey, Redpanda, k3s and AWS Lambda runtime images instead of imitating them.
- MIT, with no gates and no telemetry
- A direct answer to the Community sunset: every service for every user, nothing to sign up for, and nothing to stop a company from forking or embedding it.
Timeline
- 2025
LocalStack announces the end of its free Community image (December)
- 2026
First commit and 1.0.0 on 15 March, a week before LocalStack’s switch
- 2026
Azure, Google Cloud and Oracle Cloud emulators arrive between April and July
- 2026
Floci 2.0 on 1 September; 2.6 million Docker pulls by mid-month
- LocalStack blog: The road ahead for LocalStack (December 2025)
- floci-io/floci on GitHub: release 1.0.0 (15 March 2026)
- Floci Chronicle: 30 days of Floci (Hector Ventura, April 2026)
- Floci Chronicle: Introducing Floci (May 2026)
- Floci Chronicle: State of the Flock #003, six months (Hector Ventura, September 2026)
- floci-io/floci: MAINTAINERS.md
Sources17 · facts checked 6 October 2026
- Floci homepage (four emulators, ports, service counts, AI agents)
- Floci for AWS (Quarkus native, GraalVM Mandrel, 24 ms start, 13 MiB idle, no telemetry)
- floci-io/floci README (architecture, services, real Docker integration, storage modes, LocalStack migration, release train)
- floci-io/floci: LICENSE (MIT)
- floci-io/floci: release 2.2.0 (6 October 2026)
- Floci docs: Services overview
- Floci docs: IAM enforcement mode
- Floci docs: Storage configuration
- Floci docs: Migrating from LocalStack
- Floci docs: Terraform with Floci
- floci-az: Azure emulator (28 services, port 4577)
- floci-gcp: Google Cloud emulator (26 services, port 4588)
- floci-oci: Oracle Cloud emulator (8 services, port 4599)
- floci-io organisation on GitHub (repositories, licences)
- Floci Chronicle: State of the Flock #003 (2.0 breaking change, image size, maintainer shortage)
- Docker docs: Docker Engine security (daemon socket access)
- LocalStack pricing (for the comparison)