GitHub – hectorvent/floci: Light, fluffy, and always free

🔥 Read this awesome post from Hacker News 📖

📂 **Category**:

✅ **What You’ll Learn**:

Floci

🍿☁️ Light, fluffy, and always free

Named after floccus — the cloud formation that looks exactly like popcorn.

A free, open-source local AWS emulator. No account. No feature gates. No CI restrictions. Just docker compose up.


LocalStack’s community edition sunset in March 2026 — requiring auth tokens, dropping CI support, and freezing security updates. Floci is the no-strings-attached alternative.

Floci LocalStack Community
Auth token required No Yes (since March 2026)
CI/CD support Unlimited Requires paid plan
Security updates Yes Frozen
Startup time ~24 ms ~3.3 s
Idle memory ~13 MiB ~143 MiB
Docker image size ~90 MB ~1.0 GB
License MIT Restricted
API Gateway v2 / HTTP API
Cognito
ElastiCache (Redis + IAM auth)
RDS (PostgreSQL + MySQL + IAM auth)
S3 Object Lock (COMPLIANCE / GOVERNANCE) ⚠️ Partial
DynamoDB Streams ⚠️ Partial
IAM (users, roles, policies, groups) ⚠️ Partial
STS (all 7 operations) ⚠️ Partial
Kinesis (streams, shards, fan-out) ⚠️ Partial
KMS (sign, verify, re-encrypt) ⚠️ Partial
Native binary ✅ ~40 MB

20+ services. 408/408 SDK tests passing. Free forever.

# docker-compose.yml
services:
  floci:
    image: hectorvent/floci:latest
    ports:
      - "4566:4566"
    volumes:
      - ./data:/app/data

All services are available at http://localhost:4566. Use any AWS region — credentials can be anything.

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

# Try it
aws s3 mb s3://my-bucket
aws sqs create-queue --queue-name my-queue
aws dynamodb list-tables

Point your existing AWS SDK at http://localhost:4566 — no other changes needed.

// Java (AWS SDK v2)
DynamoDbClient client = DynamoDbClient.builder()
    .endpointOverride(URI.create("http://localhost:4566"))
    .region(Region.US_EAST_1)
    .credentialsProvider(StaticCredentialsProvider.create(
        AwsBasicCredentials.create("test", "test")))
    .build();
# Python (boto3)
import boto3
client = boto3.client("s3",
    endpoint_url="http://localhost:4566",
    region_name="us-east-1",
    aws_access_key_id="test",
    aws_secret_access_key="test")
// Node.js (AWS SDK v3)
import  from "@aws-sdk/client-s3";

const client = new S3Client({
    endpoint: "http://localhost:4566",
    region: "us-east-1",
    credentials: { accessKeyId: "test", secretAccessKey: "test" },
    forcePathStyle: true,
});

Tag Description
latest Native image — sub-second startup (recommended)
latest-jvm JVM image — broadest platform compatibility
x.y.z / x.y.z-jvm Pinned releases

All settings are overridable via environment variables (FLOCI_ prefix).

Variable Default Description
QUARKUS_HTTP_PORT 4566 HTTP port
FLOCI_DEFAULT_REGION us-east-1 Default AWS region
FLOCI_DEFAULT_ACCOUNT_ID 000000000000 Default AWS account ID
FLOCI_STORAGE_MODE hybrid memory · persistent · hybrid · wal
FLOCI_STORAGE_PERSISTENT_PATH ./data Data directory

→ Full reference: configuration docs
→ Per-service storage overrides: storage docs

MIT — use it however you want.

{💬|⚡|🔥} **What’s your take?**
Share your thoughts in the comments below!

#️⃣ **#GitHub #hectorventfloci #Light #fluffy #free**

🕒 **Posted on**: 1774156235

🌟 **Want more?** Click here for more info! 🌟

By

Leave a Reply

Your email address will not be published. Required fields are marked *