I maintain LocalEmu, a free and open-source (Apache 2.0) AWS emulator. It started as a fork of the archived LocalStack Community edition. The goal is to keep a genuinely free, open local AWS emulator alive and maintained.

What it does:

  • Emulates 132 AWS services on a single endpoint (localhost:4566)
  • Pure-Python core, with real Docker engines for Lambda, EC2, RDS, ECS, EKS, and OpenSearch
  • Point your existing AWS CLI, boto3, Terraform, CDK, or Pulumi at it, zero config
  • No account, no auth token, no telemetry. Persistent state across restarts
  • Optional fidelity knobs: IAM policy enforcement, throttling, latency injection, Lambda cold starts

Why I built it: kill the multi-minute deploy loop, drop the dev/test AWS bill to zero, and stop keeping real credentials on dev machines.

It’s for fast local dev, testing, and learning, not production, and not bit-for-bit parity with the real cloud.

Repo: https://github.com/localemu/localemu Site: https://localemu.cloud/

Happy to answer questions, and feedback is very welcome.

  • nullroute@programming.devOP
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    2 days ago

    Thanks for trying LocalEmu :). Yes, you can map a directory without scripting per-file uploads.

    aws s3 sync ./mydir s3://mybucket/ works against LocalEmu out of the box (or awsemu s3 sync with the bundled zero-config CLI). For “always populated on start”, drop a one-line script in /etc/localemu/init/ready.d/ and it runs on every boot:

    docker run --rm -d -p 4566:4566 \
      -v $PWD/fixtures:/fixtures:ro \
      -v $PWD/init:/etc/localemu/init/ready.d:ro \
      -e DASHBOARD_API_OPEN=1 localemu/localemu
    

    Where init/ready.d/seed.sh does awsemu s3 sync /fixtures s3://mybucket/. Or PERSISTENCE=1 if you’d rather load once and have it stick.

    LocalStack inspired a lot of this, we’re the free open-source continuation.