Drop-in LocalStack replacement

Local AWS.
Zero cost.
Zero compromise.

Fast, free, open-source AWS emulator built with Quarkus Native. Drop-in replacement for LocalStack. No auth token, no restrictions, ever.

Get Started → ★ Star on GitHub
24ms
Startup time
Quarkus Native binary
13 MiB
Idle memory
native binary, minimal footprint
289/s
Lambda throughput
real Docker execution per invocation
1,925/1,925
SDK compat tests
100% pass rate
GitHub stars
github.com/floci-io/floci

Built for developers who ship.

No gatekeeping. No pricing tiers. No surprises. A reliable AWS environment that starts instantly and works everywhere.

🚀

No auth token. Ever.

Pull the Docker image and go. No sign-ups, no API keys, no telemetry. Zero setup required.

24ms startup

Native binary compiled with GraalVM Mandrel. Starts instantly, and your CI pipeline will thank you.

💾

13 MiB idle memory

Native binary, minimal memory footprint. Fits on the smallest CI runners.

🔓

Truly MIT licensed

Fork it, embed it, extend it. No "community edition" sunset. No "enterprise" feature flags. Every service available to every developer, always.

☁️

75 AWS services

From S3 to Step Functions to Neptune to Transcribe, including ElastiCache, RDS, API Gateway v2 + WebSocket, CloudFront, AppSync, Route53, Transfer Family, and more. All free.

🔁

Drop-in compatible

Same port 4566. Same wire protocols. Same AWS SDK calls. Zero application code changes needed to switch.

🔒

Optional TLS / HTTPS

Enable HTTPS with one env var. Floci auto-generates a self-signed certificate at startup so you can test TLS-sensitive code paths locally.

🏢

Per-account isolation

Full multi-tenancy: each AWS account ID gets its own isolated storage. Run dev, staging, and test on a single Floci instance.

Switching from LocalStack?

See the full feature comparison, performance benchmarks, and step-by-step migration guide on the dedicated compare page.

View comparison →

Performance that actually matters.

Real numbers from a 1,925-test AWS SDK compatibility suite.

Startup Time
Floci Native24 ms
Typical emulator~6 000 ms
Idle Memory
Floci Native13 MiB
Typical emulator~250 MiB
Lambda Throughput (req/s)
Floci Native289 req/s
Lambda Warm Latency (avg)
Floci Native2 ms
~90 MB
Docker image size
100%
SDK tests pass
1,925 of 1,925
75
AWS services
all free, all unlocked
$0
Forever free
no auth token
Docker Image Size
Floci Native~90 MB

Real engines. Real protocols.

Floci doesn't mock responses. For complex data services, it orchestrates real engines in Docker to guarantee 100% protocol fidelity.

λ
Lambda Runtimes

Execution in isolated Docker containers using real AWS runtimes. Node.js, Python, Java, Go, and more with identical environment variables.

Isolated Execution
DB
RDS Engines

Real PostgreSQL, MySQL, or MariaDB instances. Full lifecycle, snapshot/restore, and JDBC traffic with IAM database authentication.

JDBC Wire Parity
R
ElastiCache (Redis)

Real Redis container. Floci acts as a SigV4 proxy for IAM authentication against your local Redis cluster.

RESP Protocol
E
Amazon ECS

Orchestrates real Docker containers for task definitions, providing a local control plane for task lifecycle management.

Container Fidelity
S
OpenSearch

Real OpenSearch clusters. Floci manages the underlying engine nodes, fully functional with the complete OpenSearch API suite.

Search Fidelity
K
MSK (Kafka)

Real Apache Kafka via Redpanda. Perfect for testing event-driven architectures with the same performance and semantics as Amazon MSK.

Streaming Parity
R
ECR Registry

Real OCI-compatible registry (registry:2). Push and pull with the stock Docker client, including image-backed Lambdas.

OCI Wire Parity
A
Athena

Query execution in a DuckDB sidecar container. Same execution model as AWS Athena, no mocking.

Query Fidelity
EC2 Instances

RunInstances launches real Docker containers. SSH key injection, UserData execution, and IMDS (IMDSv1 + IMDSv2) with IAM credential serving.

IMDS + SSH Fidelity

Real IAM. Real security. Local.

Lambda, ElastiCache, RDS, ECS, EC2, MSK, EKS, OpenSearch, ECR, and CodeBuild all support full IAM authentication and SigV4 validation.

Lambda

Function Execution with IAM

Functions run in real Docker containers with IAM role assumption. Full warm pool, aliases, ESM triggers, and Cognito Lambda triggers.

  • Docker-native execution (Node, Python, Java, Go, Ruby, .NET)
  • SQS, Kinesis, and DynamoDB Streams ESM triggers
  • Function URLs with IAM or public access control
  • Aliases, versions, concurrency controls
  • 25 Lambda operations supported
ElastiCache

Redis / Valkey with IAM Auth

Real Redis instance running in Docker, proxied through Floci with full IAM authentication via SigV4 token validation.

  • Redis via Docker with real RESP protocol
  • IAM auth with SigV4 signature validation
  • Cluster & replication group creation
  • Snapshot and restore support
  • 21/21 SDK tests passing
RDS

Postgres, MySQL & MariaDB with IAM

PostgreSQL, MySQL, and MariaDB databases in Docker, with full IAM database authentication and JDBC wire proxying. 50/50 SDK tests pass.

  • PostgreSQL, MySQL, and MariaDB via Docker
  • IAM database authentication over JDBC
  • Snapshot, restore, parameter groups
  • Multi-AZ configuration support
  • 50/50 SDK tests passing

75 AWS services. All of them free.

Every service is fully unlocked. Services marked with ★ are exclusive to Floci.

S3 REST XML AWS Backup ★ REST JSON Transfer Family ★ REST JSON S3 Vectors REST JSON S3 Tables REST JSON DynamoDB + Streams JSON 1.1 ElastiCache ★ Redis + IAM RDS ★ PG + MySQL + IAM Neptune ★ REST JSON RDS Data API REST JSON DocumentDB Query MemoryDB JSON 1.1 Lambda REST JSON EC2 Query Lightsail JSON 1.1 Auto Scaling ★ Query AWS Batch REST JSON Elastic Beanstalk Query Application Auto Scaling JSON 1.1 ECS JSON 1.1 ECR JSON 1.1 EKS REST JSON API Gateway REST REST JSON API Gateway v2 ★ HTTP + WebSocket ELB v2 ★ REST JSON Route 53 ★ REST XML CloudFront REST XML AppSync REST JSON Cloud Map JSON 1.1 SQS Query / JSON SNS Query / JSON Kinesis JSON 1.1 EventBridge + Scheduler + Pipes JSON 1.1 MSK (Kafka) REST JSON SES + SES v2 Query / JSON IoT Core REST JSON Amazon MQ REST JSON IAM Query (68+ ops) STS Query (7 ops) Cognito ★ JSON 1.1 KMS JSON 1.1 Secrets Manager JSON 1.1 ACM JSON 1.1 WAF v2 JSON 1.1 GuardDuty REST JSON CloudHSM JSON 1.1 CloudWatch Logs JSON 1.1 CloudWatch Metrics Query CloudWatch RUM REST JSON AWS Config JSON 1.1 CloudTrail JSON 1.1 OpenSearch REST JSON Athena REST JSON Glue REST JSON Data Firehose REST JSON EMR JSON 1.1 MWAA (Airflow) REST JSON Managed Flink JSON 1.1 Bedrock Runtime REST JSON Textract ★ REST JSON Transcribe ★ REST JSON Bedrock AgentCore REST JSON SSM Parameter Store JSON 1.1 CloudFormation Query Step Functions JSON 1.1 AppConfig + Data REST JSON CodeBuild ★ REST JSON CodeDeploy ★ REST JSON Resource Groups Tagging JSON 1.1 CodePipeline JSON 1.1 Cloud Control API JSON 1.0 SWF JSON 1.0 Cost Explorer JSON 1.1 Pricing REST JSON CUR + BCM Data Exports REST JSON

Runs a Docker container

★ Exclusive to Floci, not available in other free AWS emulators

Up and running in seconds.

Use the floci CLI for the smoothest experience, or run Docker directly if you prefer bare metal.

1 · Install floci CLI

brew install floci-io/floci/floci

2 · Start the emulator

floci start

3 · Export env vars

eval $(floci env)
# exports AWS_ENDPOINT_URL, AWS_ACCESS_KEY_ID,
# AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION

4 · Upload a file

# Create a bucket
aws s3 mb s3://my-bucket

# Write a file and upload it
echo "Why pay for S3 when floci is free? 🎉" > hello-floci.txt
aws s3 cp hello-floci.txt \
  s3://my-bucket/hello-floci.txt

# Download it back and read it
aws s3 cp s3://my-bucket/hello-floci.txt \
  hello-back.txt
cat hello-back.txt

Other useful commands

# Check status
floci status

# View logs
floci logs --follow

# Stop the emulator
floci stop

# Run health diagnostics
floci doctor

Start with persistence

floci start --persist ./data
# state survives container restarts

Save & restore state

floci snapshot save my-snapshot
floci snapshot restore my-snapshot

Real workflows. Local environment.

End-to-end recipes for complex services. No cloud account needed.

# Set up environment
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


# Create EKS cluster (Floci spins up a real k3s node)
aws eks create-cluster \
    --name dev-cluster \
    --role-arn arn:aws:iam::000000000000:role/eks-role \
    --resources-vpc-config subnetIds=subnet-00000001


# Pull kubeconfig and use kubectl
aws eks update-kubeconfig --name dev-cluster
kubectl run nginx --image=nginx:alpine --port=80
kubectl get pods,svc
MIT License · No Auth Token · Open Source Forever

Light, fluffy, and always free.

Like cirrocumulus floccus, the cloud formation that gave Floci its name. Small, lightweight, and always there when you need it.

View on GitHub → Quick Start ↑