mrkeyoor.com_
Wed 16 Sept 07:04 UTC
Dev Toolsevaluationupdated 25 Aug 2026

localstack review

LocalStack runs an AWS-like environment in a local container so applications, infrastructure code, and CI jobs can call cloud APIs without creating real AWS resources. This repository contains the former open-source runtime, but it is now archived as development moves to LocalStack's unified image.

+5stars / 7d
Verdict

LocalStack remains useful for local AWS integration work, but this archived repository is no longer the product I would adopt. New evaluations should use the unified image, check the exact service coverage and plan terms, and run contract tests against AWS before release. The 900-second test timeout and 34 audit findings in our source snapshot make a private fork unattractive unless you are prepared to own substantial maintenance.

We ran it

Lab card: what happened when we ran localstackScreenshot of localstack (localstack.cloud)
Install✓ · 84s185 packages · 648 MB
Build✓ · 8s
Tests✗ timed out · 900sran, no count parsed
Known vulns34(pip-audit)
Repo3730 files~542,339 lines of source · 42.7 MB · 27 CI workflows · Dockerfile · tests dir

Answers from our run

Does localstack build from source?

Dependencies installed in 84 seconds (185 packages), and the build succeeded in 8 seconds. We cloned commit 8b9a79f into a clean Debian container with 3 CPUs and no project-specific setup.

Do localstack's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does localstack have known vulnerabilities in its dependencies?

pip-audit flagged 34 known advisories in the dependency tree at the time of our run.

Who should not use localstack?

Developers seeking an actively maintained open-source upstream: this repository is archived and read-only, with future work consolidated into a unified image.

What are the alternatives to localstack?

Moto, AWS SAM CLI. LocalStack remains useful for local AWS integration work, but this archived repository is no longer the product I would adopt.

Setup3/5CLI plus Docker is direct; service setup and plans add friction
Docs4/5Detailed service, CI, configuration, and coverage references
Community2/5Product continues elsewhere, but this repository is archived
Maturity3/5Useful AWS emulator with parity gaps and a platform transition

Discussed on

  1. hnLocalStack – A fully functional local AWS cloud stack392 points
  2. hnLocalstack – Local AWS Emulator389 points
  3. hnLocalStack – A fully-functional local AWS cloud stack226 points
  4. hnLocal Stack Archived their GitHub repo and requires an account to run216 points
  5. hnLocalStack 1.0115 points

Who it’s for

Existing users who need to understand or preserve the last open-source runtime in this repository.
AWS developers who want fast local feedback for supported S3, Lambda, DynamoDB, SQS, SNS, CloudFormation, and related API paths.
CI teams willing to test their exact service calls against the current unified LocalStack product.
Organizations prepared to compare the free non-commercial plan with paid coverage before standardizing on it.

Who it’s NOT for

Developers seeking an actively maintained open-source upstream: this repository is archived and read-only, with future work consolidated into a unified image.
Commercial teams assuming the archived community experience stays free: the README describes a Hobby plan for non-commercial use and directs users to separate LocalStack offerings.
Tests that must prove identical AWS behavior: the README points to a service and API coverage table, and release notes describe parity improvements rather than claiming complete emulation.
Teams that need old local state to survive an upgrade without migration work: release 4.14 says state from earlier versions is incompatible and must be recreated.
Security-sensitive environments unwilling to audit dependencies: our snapshot's pip-audit reported 34 known vulnerabilities.
Developers without Docker access: the 4.14 release removed the host mode, and the CLI starts LocalStack only in a container.

Setup reality

In our sandbox, installing 185 Python packages took 84 seconds and used 648 MB; the build succeeded in 8 seconds. The checkout had 3,730 files, about 542,339 source lines, and occupied 42.7 MB. Tests timed out after 900 seconds. The tail shows a Twisted reactor polling stack followed by F..................FFFFFF, but not enough detail to name a cause. pip-audit reported 34 known vulnerabilities.

The user path is Docker, launched by the LocalStack CLI, with awslocal installed separately for convenient API calls. Real projects still need endpoint configuration, service-specific settings, persistent volumes if state matters, and a plan for CI container access. Licensed features and plans may require account credentials.

The archived repository is no longer the forward path. Evaluate the unified image and current coverage table, then pin the image because release 4.14 explicitly breaks compatibility with older persisted state.

The repository and the product have split

LocalStack's job is easy to value. It gives AWS applications local endpoints for services such as S3, Lambda, DynamoDB, SQS, SNS, Kinesis, and CloudFormation. A developer can run infrastructure code or integration tests against a container instead of creating remote resources for every edit. CI jobs gain faster setup and can avoid many cloud credentials and usage charges during ordinary test runs.

The repository now carries a prominent warning: it is archived and read-only. LocalStack says development has been consolidated into a single unified image. The README directs users to LocalStack for AWS, including a free Hobby plan for non-commercial use, and moves bug reports and feature requests to organization discussions. That makes this codebase historical source, not the upstream a new adopter will follow.

This distinction should drive the decision. The LocalStack product can still be an effective development dependency. Forking this repository means owning an AWS emulator frozen after its March 23, 2026 push, with no open issue queue because GitHub archival closed that workflow. Most teams should evaluate the current image and commercial terms instead of treating this repository's Apache license as the whole ongoing offer.

What happened when we ran it

We cloned commit 8b9a79f into a fresh unprivileged Debian container with three CPUs and 8 GB of RAM, using the stated Python 3.12 Bookworm lab image. The checkout held 3,730 files, about 542,339 lines of source, occupied 42.7 MB, and included 27 CI workflow files, a Dockerfile, a Compose file, and a tests directory.

Installation succeeded in 84 seconds. It installed 185 packages and used 648 MB. The build then succeeded in 8 seconds. pip-audit reported 34 known vulnerabilities in the installed environment. That number is a dependency audit result from this exact snapshot, not a count of exploitable LocalStack flaws. It is still a reason to inspect package names, affected versions, and runtime reachability before using the archived source.

The tests did not complete within the 900-second limit. The final log shows a Twisted runtime inside its main loop and epoll polling, then the timeout marker followed by F..................FFFFFF. The excerpt does not identify the individual tests or explain whether they were already failing when time expired. We can say the suite timed out and displayed failures; we cannot responsibly name a root cause from that tail.

Container setup is short; faithful tests take work

The recommended start uses the LocalStack CLI to launch a Docker container. Homebrew, a standalone CLI binary, and pip are offered as ways to install that controller. awslocal is separate and provides an AWS CLI configured for the local endpoints. Docker access is mandatory in the current model: release 4.14 removed the host option and says the CLI runs LocalStack only inside a container.

Getting a green health check is only the beginning. Applications must point SDKs and infrastructure tools to LocalStack's endpoints, use a consistent region and test credentials, expose Docker to CI, and configure any Lambda execution or nested containers. Tests that preserve data need volumes and lifecycle rules so one job does not contaminate another. Teams should decide whether each suite starts clean or intentionally restores a known state.

Version 4.14 makes that last choice urgent. Its release notes say Cloud Pods, snapshots, and PERSISTENCE=1 state created before 4.14 are incompatible and must be recreated. Pinning an image protects a CI run from surprise changes, while an explicit upgrade job can rebuild fixtures and run representative infrastructure plans before the new tag becomes standard.

Emulation is a test layer, not proof of AWS parity

LocalStack publishes service and API coverage because implementations differ by feature and plan. Release 4.14 added or improved details across tagging, S3 conditional copy, CloudFormation policies, Step Functions, Route 53, ECS, ElastiCache, RDS, EKS, and MSK. Several additions are marked Base or Ultimate. Those labels matter when a test depends on one specific API rather than the broad service name.

A good test strategy uses LocalStack for fast feedback and retains a smaller set of checks against AWS. Authentication edges, IAM evaluation, networking, managed-service limits, eventual behavior, and newly released APIs can diverge. The local emulator is most valuable when it catches application wiring and infrastructure mistakes early, while cloud tests confirm the behavior that only AWS can own.

The licensing story also needs two readings. The archived code says Apache 2.0, while its EULA says use is conditioned on accepting additional terms and describes automatic communications for updates, error reports, and anonymized usage data. The new unified offering has its own plan boundaries. Legal and security reviewers should inspect the artifact actually being deployed rather than relying on the repository badge.

What to use instead, and when

Release 4.14 shipped on February 26, 2026, shortly before the final repository push. Its detailed changes show active engineering before consolidation, but the archived status means push date and zero open issues cannot be used as ordinary community-health signals. Current product support now lives outside this issue tracker.

Moto is a better fit when a Python suite wants mocked AWS calls without operating a large local cloud container. AWS SAM CLI is narrower and useful for teams centered on Lambda, API Gateway, and SAM templates. LocalStack's unified image remains the broader option when several AWS services must interact in one local environment. Choose it only after mapping required APIs to the current coverage and plan, and keep AWS contract tests for the behavior that matters most.

Alternatives

ProjectWhat it isPick it when
MotoA Python library and server that mocks many AWS APIs for tests.pick this instead when Python tests need in-process AWS mocks or a lightweight HTTP mock and LocalStack's container platform is unnecessary.
AWS SAM CLIAWS's command-line tool for building and locally invoking serverless applications.pick this instead when Lambda and API Gateway development is the focus and official SAM workflows fit the application.

Sources

  1. Archived LocalStack repository and README
  2. LocalStack documentation
  3. LocalStack feature coverage
  4. LocalStack 4.14.0 release
  5. LocalStack open-source EULA

More dev tools reviews

IKONA-Security · noty · forward-implementation-first · breakscale · black · ASC · the whole board →