Docs / From LocalStack to LocalEmu

From LocalStack to LocalEmu

The story of how the most-adopted free AWS emulator was archived, and why LocalEmu exists. Current LocalStack adoption can be checked live on GitHub and Docker Hub.

The timeline

Aug 2016
Waldemar Hummer writes the first lines of LocalStack at Atlassian. The code is published on Bitbucket under atlassian/localstack. (Source: GitHub commit history)
Mar 2017
Public release on GitHub under Atlassian's organization. Apache 2.0 license. The idea is simple: developers should be able to test cloud code without deploying to AWS.
Jan 2021
Seed funding round closes. LocalStack becomes a full-time business.
Jul 2022
LocalStack v1.0 GA. Dozens of AWS services covered. (Source: GitHub release v1.0.0)
Nov 2024
Series A funding round closes.
Feb 2026
LocalStack announces pricing changes. Features that were previously available in the free Community Edition were moved behind paid plans and authentication requirements.
Mar 23, 2026
The localstack/localstack GitHub repository is archived. Read-only. The community edition is gone. (Source: GitHub)

What the community said

The archival triggered significant backlash. Multiple Hacker News threads, Reddit discussions, and GitHub issues documented the reaction. Here are real quotes from those discussions.

"They just closed the repo and ran away. If they had that idea all along, I feel like it hasn't been very, let's say, ethical."

Source: Hacker News: "LocalStack archived their GitHub repo" (March 2026)

"The phrase 'open-source experiment' downplays the fact that the entire project was built as OSS."

Source: Hacker News: "LocalStack archived their GitHub repo" (March 2026)

"It's ironic to read them calling it as an 'open-source experiment' rather than a full project, especially since their entire reputation was built on being open-source."

Source: Reddit, cited by InfoQ

"Going forward as a contributor your best bet is to direct your efforts towards a project sponsored by a reputable open source foundation, not a VC-funded startup."

Source: Hacker News: "LocalStack moving to paid" (March 2026)

The localstack/localstack:latest Docker tag began requiring a LOCALSTACK_AUTH_TOKEN environment variable. Without it, the container refused to start. Every project using LocalStack in CI/CD without authentication broke simultaneously.

Downstream projects filed urgent issues: Testcontainers (Node, Go, Python, Java, .NET), Spring Cloud AWS, Quarkus, Fleet, and others all had to pin to older versions or migrate away. InfoQ ran the headline: "LocalStack for AWS Drops Community Edition Raising Developer Concerns."

What had changed in the product

The archival was the final step, but the product had been changing for years. Features moved from free to paid tiers. Here is what was behind a paywall by March 2026:

  • State persistence required a paid plan. Your DynamoDB tables, S3 buckets, and Lambda functions disappeared every container restart unless you paid.
  • Cloud Pods (state snapshots) were paid-only and stored on LocalStack's servers.
  • IAM policy enforcement required a higher-tier paid plan. The free tier had basic IAM CRUD but no enforcement.
  • Dozens of services including ECS, EKS, RDS, Cognito, Glue, Athena, and others required a paid plan.
  • Commercial use was explicitly prohibited on the free tier.

The fork

LocalEmu was born from a straightforward conviction: this tool should stay free and open. The original code was Apache 2.0 licensed, which means anyone can fork it, modify it, and redistribute it. So we did.

But we did not just take the code and rename it. We rebuilt it with a different philosophy.

What we changed

Removed all authentication

LocalStack required a LOCALSTACK_AUTH_TOKEN environment variable for the container to start. LocalEmu has no tokens, no API keys, no sign-in, no account. Every feature is available to everyone, always.

Removed all telemetry

LocalStack collected analytics and usage data. LocalEmu collects nothing. The analytics endpoints are gone. No data leaves your machine.

Removed the Java dependency

LocalStack used Amazon's DynamoDB Local (a Java application) to emulate DynamoDB, and JPype for Step Functions. Users needed Java installed, and the JVM added significant memory overhead, with the documented failure mode of DynamoDB Local blocking write operations under memory pressure. LocalEmu replaced both with pure-Python implementations. No JVM, no JAR files, no Maven.

Removed DNS hijacking

LocalStack ran a custom DNS server on port 53 that required root/sudo access and resolved *.localhost.localstack.cloud to 127.0.0.1. This caused persistent issues: DNS resolution failures, resolv.conf conflicts, threading failures on GitHub Actions, and containers in the same network unable to reach LocalStack subdomains. LocalEmu uses plain localhost. No DNS server. No sudo. No dependency on anyone's domain.

Removed external runtime downloads

LocalStack downloaded binaries at runtime: the Lambda runtime from GitHub releases, DynamoDB Local JARs from Maven repositories. If those servers were down, LocalStack broke. LocalEmu bundles its own runtimes inside the pip package. pip install localemu[runtime] gives you everything, and nothing is fetched from third-party release servers to start. (Docker pulls the engine images for the container-backed services from a registry you control.)

Removed the supervisor process

LocalStack had a separate process manager (localstack-supervisor) for Docker signal handling. LocalEmu runs directly. One process. localemu start starts the emulator. Ctrl+C stops it.

Removed the Pro/Enterprise split

LocalStack had separate Docker images and split features across multiple pricing tiers. LocalEmu has one version. One image. Everything included.

Removed the external CLI dependency

LocalStack required a separate pip package called awscli-local for the awslocal command. LocalEmu ships awsemu built into the main package. One install, everything works.

What we added

More services, all free

We added ECS, EKS, ECR, ELBv2, RDS, CloudFront, CloudTrail, Cognito, AppSync, Glue, Athena, EFS, Backup, Pipes, CodeBuild, WAFv2, ElastiCache, Service Discovery, IoT, Batch, and SESv2. These were paid-only in LocalStack; in LocalEmu they are free. The container-backed services (ECS, EKS, RDS) run real engines in Docker; the rest are pure Python.

Free persistence

State persistence works out of the box with PERSISTENCE=1. No paid tier. No external server. Your data stays on your machine.

Built-in CLI

localemu start, localemu stop, localemu status (with colored output), localemu services (list all services and their operations). And awsemu as a zero-config AWS CLI wrapper.

Custom Lambda runtime binary

We forked and rebranded the Lambda runtime init binary (Go). Built for arm64 and x86_64. Bundled inside the pip package. It reads LOCALEMU_* environment variables. Complete independence from LocalStack infrastructure.

Before and after

BEFORE (LocalStack, Mar 2026)

  • Auth token required to start
  • Free tier: non-commercial only
  • Persistence: paid only
  • Many services: paid only
  • IAM enforcement: paid only
  • Java required (DynamoDB)
  • DNS server on port 53 (sudo)
  • Downloads binaries at runtime
  • Sends telemetry
  • Separate awscli-local package
  • GitHub repo: archived

NOW (LocalEmu)

  • No token, no account
  • Free for any use
  • Persistence: free, built in
  • All services included
  • Everything in one version
  • No Java (pure-Python core)
  • Plain localhost
  • Everything bundled in pip
  • Zero telemetry
  • awsemu built in
  • GitHub repo: active, open

Gratitude

LocalStack was created at Atlassian in 2016 by Waldemar Hummer (Source: GitHub commit history). Over the years that followed, contributors built an emulator framework, service implementations, testing infrastructure, protocol handlers, and a CloudFormation engine. That work made local cloud development possible for a large community of developers.

The LocalStack team chose to focus on their commercial product, and that is entirely their right. Building a sustainable business around open-source software is genuinely hard, and the people behind LocalStack are talented engineers who built something remarkable. We wish them every success.

We forked the open-source code not to compete with LocalStack, but to pick up what its community edition left behind. Thousands of developers depend on a free, open-source AWS emulator, and we believe that tool should remain available.

To every contributor who wrote code for LocalStack: thank you. Your work lives on in LocalEmu, and it will remain free.

LocalEmu is released under the Apache License, Version 2.0. The original copyright notices are preserved in the LICENSE file as required by the license.