Floci is a free, MIT-licensed local AWS emulator that runs real AWS services (S3, DynamoDB, Lambda, SQS and more) in Docker on your own machine, with no account, no auth token and no feature gates. It is the most credible drop-in replacement for LocalStack since LocalStack retired its Community edition in March 2026 and started requiring an auth token for every run. If your local dev or CI workflow broke this year, Floci is the fastest fix: docker compose up and you are running.
TL;DR
- Floci emulates AWS services locally, free and open source (MIT license), no sign-up.
- It advertises ~24 ms startup and ~13 MiB idle memory; LocalStack’s own README claims ~3.3 s startup and ~143 MiB idle. The gap is real even after discounting best-case marketing numbers.
- Lambda functions run in real Docker containers with the genuine runtime images, not shallow mocks.
- Migration from LocalStack is a one-line image swap in your existing Docker Compose file.
- Last verified: 2026-08-24.
Why are developers looking for a LocalStack alternative?
LocalStack retired its open-source Community edition. On March 23, 2026, LocalStack shipped version 2026.03.0, archived its GitHub repositories, and merged everything into a single unified Docker image that refuses to start without a LOCALSTACK_AUTH_TOKEN tied to a registered account (LocalStack blog: “The Road Ahead for LocalStack”, December 2025). A temporary bypass via LOCALSTACK_ACKNOWLEDGE_ACCOUNT_REQUIREMENT=1 expired on April 6, 2026.
A free Hobby plan still exists (non-commercial use, unlimited CI after an initial credit cap was walked back), and source code for the old Community image remains archived for versions up to v4.14.0. But there are no more security updates for the Community line, and commercial use starts at $39/month per the 2026 pricing revision (February 2026).
For teams that just want “S3 and Lambda on localhost with zero strings attached,” that was the moment to look elsewhere. Floci is the project that directly positioned itself into that gap.
What is Floci and how does it work?
Floci is an AWS local emulator: a single Docker container that speaks the AWS APIs on http://localhost:4566, so the AWS CLI, every official SDK, Terraform and Testcontainers all work against it with dummy credentials and no AWS account in the loop.
Three design choices define it:
- Built on Quarkus, compiled as a GraalVM native binary. That is why it starts in milliseconds instead of seconds – there is no JVM or Python runtime to boot.
- Real container services, not shallow mocks. When your code triggers a Lambda, Floci pulls the real AWS Lambda runtime image, spins up an actual Docker container, runs the function, and tears it down – the same execution model AWS uses. Stateful services like RDS (PostgreSQL/MySQL) and ElastiCache (Redis) also run as real containers, on demand.
- Nothing gated. API Gateway v2, Cognito, S3 Object Lock and IAM-authenticated databases are all included free – services LocalStack keeps behind paid tiers. The project lists a 100% pass rate on its SDK compatibility suite (1,925 tests, per floci.io, August 2026).
The name comes from cirrocumulus floccus, the cloud formation that looks like popcorn. The project is MIT-licensed and lives at github.com/floci-io/floci.
Floci vs LocalStack: what is the actual difference?
The honest summary: Floci wins on footprint, friction and licensing; LocalStack still wins on breadth and maturity. Both projects advertise best-case numbers, so treat absolute figures as directional, but the gap between them is enormous.
Floci LocalStack (post-2026.03) License MIT, fully open source Restricted; Community line frozen at v4.14.0 Account / auth token required No Yes, for every start Advertised startup time ~24 ms ~3.3 s Advertised idle memory ~13 MiB ~143 MiB Docker image size ~90 MB (floci.io) ~1.0 GB Lambda execution Real runtime containers Real (mature) Cognito, API Gateway v2, ElastiCache, RDS Included free Paid tier Service breadth / edge-case coverage Younger, growing Deepest availableSources: Floci README and comparison table and LocalStack’s announcement, both checked August 2026.
One caveat worth stating plainly: independent benchmarks of both tools show neither hits its README numbers exactly in a cold real-world test (Floci measured closer to ~130 ms than 24 ms in one hands-on check; LocalStack took several seconds rather than 3.3). Benchmarks are measured on best-case setups by every vendor. What survives scrutiny is the order-of-magnitude gap: Floci is dramatically lighter, and in CI – where you spin the emulator up hundreds of times a day – container startup time is real money.
How do you set up Floci locally?
About two minutes if you have Docker installed.
-
Create a
docker-compose.yml:
services:
floci:
image: hectorvent/floci:latest
ports:
- '4566:4566'
Enter fullscreen mode Exit fullscreen mode
Start it:
docker compose up. The emulator is ready almost immediately.Point the AWS CLI at it with dummy credentials:
export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_DEFAULT_REGION=us-east-1
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
aws s3 mb s3://uploads
aws dynamodb create-table \
--table-name metadata \
--attribute-definitions AttributeName=id,AttributeType=S \
--key-schema AttributeName=id,KeyType=HASH \
--billing-mode PAY_PER_REQUEST
Enter fullscreen mode Exit fullscreen mode
- Browse the built-in web UI. Floci ships a console where you can inspect buckets and objects, DynamoDB tables and records, and Lambda function configs – and even invoke a function with a custom JSON payload straight from the browser, no CLI needed.
Migrating from LocalStack
Take your existing Docker Compose file that points at localstack/localstack and swap the image for hectorvent/floci. Same port, same endpoint, same SDK config. If you test Lambda functions with Testcontainers, Floci ships a module so the whole emulator lifecycle runs inside your test suite instead of as a container you manage separately.
Does Floci hold up in a real project, not just a hello-world?
The meaningful test is a multi-service pipeline, because that is where shallow emulators fall apart. The classic serverless pattern – upload an image to one S3 bucket, have an S3 event trigger a Lambda that resizes it, write the thumbnail to a second bucket, and log dimensions plus timestamps to DynamoDB – runs end-to-end on Floci exactly as it would on AWS.
The detail that matters: when the S3 event fires, Floci does not fake the invocation. It pulls the real Lambda Python runtime image and executes your function inside an actual container, then tears it down. You can watch the whole thing in the web UI afterwards – the generated thumbnail in the second bucket with its real file size, and the metadata record as visible JSON in the DynamoDB table view. That is proper emulation, and it is what makes integration tests written against Floci trustworthy when you deploy to real AWS.
What this means for you
- Solo developer / small team: Floci is the zero-friction default. No accounts, no tokens in CI secrets, no telemetry, and nothing useful locked behind a paywall. If you later outgrow it, your tests still speak standard AWS APIs and port back.
- CI-heavy teams: the startup and memory gap compounds. Even discounting marketing numbers, a sub-second, tens-of-megabytes emulator spun up per test job beats a multi-second, gigabyte one.
- If LocalStack works for you today: the free Hobby plan with an auth token is a legitimate, low-effort fix – you do not have to migrate. But pin the risk: the Community line gets no security updates, and pricing has moved twice in 2026 already.
- Either way, the skill transfers. Local emulation is one piece of building reliable automated systems; if you are assembling a broader stack, our guide to building an AI agent operating system in 2026 covers how emulated services fit into always-on automation, and the open-source replacements for paid apps roundup follows the same “free, no strings” philosophy as Floci across other categories.
FAQ
Q: Is Floci really free, including for commercial use?
A: Yes. Floci is MIT-licensed open source with no account requirement, no auth token, no telemetry and no feature gates. There is no paid tier; the project is community- and sponsorship-funded.
Q: What happened to LocalStack’s free version?
A: On March 23, 2026, LocalStack sunset its Community edition: the GitHub repos were archived, and the unified image now requires a LOCALSTACK_AUTH_TOKEN from a registered account. A free Hobby plan remains for non-commercial use; commercial plans start at $39/month.
Q: Which AWS services does Floci support?
A: Core services including S3 (with Object Lock), DynamoDB, Lambda (real runtime containers), SQS, plus API Gateway v2, Cognito, ElastiCache (Redis with IAM auth) and RDS (PostgreSQL/MySQL). It reports a 100% pass rate across 1,925 SDK compatibility tests.
Q: Can I use Floci with Terraform and the AWS SDKs?
A: Yes. Floci is endpoint-compatible: point any AWS SDK, the CLI or Terraform at http://localhost:4566 with dummy credentials and it works without an AWS account.
Q: How do I migrate from LocalStack to Floci?
A: Swap the image in your Docker Compose file from localstack/localstack to hectorvent/floci – the port (4566) and endpoint URL stay the same. A Testcontainers module is available for running Floci inside test suites.
Q: Is Floci production-ready?
A: For local development and CI, yes – it is actively maintained with a large, passing compatibility suite. It is a younger project than LocalStack, so verify your specific services against its docs before standardizing an organization on it.
Sources
- Floci on GitHub (floci-io/floci) – README, license, comparison table, compatibility suite. Accessed 2026-08-24.
- Floci official site (floci.io) – advertised startup/memory figures and service list. Accessed 2026-08-24.
- LocalStack: “The Road Ahead for LocalStack” – retirement of the Community edition and auth token requirement. December 2025.
- LocalStack: 2026 pricing changes – Hobby/Starter/Ultimate plan structure and CI policy. February 2026.
Updates
- 2026-08-24: First published. Verified Floci’s GitHub repo, official site and LocalStack’s two announcement posts.