Quick Start Implementation Guide
LocalStack recently moved its core services behind a paid plan. If you relied on LocalStack Community for local development and CI/CD pipelines, MiniStack is your fully open-source, free alternative.
💡
Zero Friction: No account, no API key, no sign-up, and no telemetry. MiniStack runs 38 AWS services directly on your local machine using just ~30MB of RAM at idle.
1. Installation & Initialization
MiniStack is distributed both as a Python package and a Docker container. You can choose the method that best fits your workflow.
bash — Quick Start
# Option 1: Docker Hub (Recommended for CI/CD)
$ docker run -p 4566:4566 nahuelnucera/ministack
# Option 2: PyPI (Simplest for Python devs)
$ pip install ministack
$ ministack
# Verify it's running (Wait ~2 seconds)
$ curl http://localhost:4566/_ministack/health
{"services": {...}, "status": "available"}
2. Using with the AWS CLI
You don't need any special configurations or plugins. Just pass the --endpoint-url flag to point the CLI to MiniStack.
bash — AWS CLI
# Setup dummy credentials via environment variables
$ export AWS_ACCESS_KEY_ID=test
$ export AWS_SECRET_ACCESS_KEY=test
$ export AWS_DEFAULT_REGION=us-east-1
# Run commands against the local emulator
$ aws --endpoint-url=http://localhost:4566 s3 mb s3://my-local-bucket
make_bucket: my-local-bucket
$ aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name local-queue
{ "QueueUrl": "http://localhost:4566/000000000000/local-queue" }
3. Using with Boto3 (Python)
When writing application code, simply override the endpoint URL when instantiating your clients.
python — app.py
import boto3
# A simple helper to initialize clients
def get_local_client(service_name):
return boto3.client(
service_name,
endpoint_url="http://localhost:4566",
aws_access_key_id="test",
aws_secret_access_key="test",
region_name="us-east-1",
)
# Example: Putting an item in DynamoDB
dynamodb = get_local_client("dynamodb")
dynamodb.put_item(
TableName="UsersTable",
Item={"UserId": {"S": "123"}, "Name": {"S": "Nahuel"}}
)
For Terraform, CDK, and other setups, check out our GitHub documentation.