Реклама
Селектел, перетяжка, 22.06
Селектел, перетяжка, 22.06
Селектел, перетяжка, 22.06

LocalStack стал платным — MiniStack заменяет его бесплатно: 33 AWS-сервиса, реальный Postgres и 2 секунды на старт

LocalStack перенёс S3, Lambda и DynamoDB за пейволл от $35/мес. MiniStack — drop-in замена, совместимая с boto3, Terraform и CDK без изменения кода. Поднимает настоящие Postgres и Redis в Docker-контейнерах.

Обложка: LocalStack стал платным — MiniStack заменяет его бесплатно: 33 AWS-сервиса, реальный Postgres и 2 секунды на старт

LocalStack долгое время был стандартом для локальной эмуляции AWS-сервисов — бесплатный, удобный, с поддержкой S3, SQS, DynamoDB и десятков других API. Но в начале 2026 года базовые сервисы переехали за пейволл: даже S3 и Lambda теперь требуют платной подписки от $35/мес.

Разработчик Nahuel Nucera решил эту проблему: MiniStack — полностью бесплатная замена LocalStack с открытым исходным кодом, которая эмулирует 33 AWS-сервиса на одном порте. И, в отличие от LocalStack, запускает настоящие базы данных и контейнеры вместо мок-заглушек.

Ключевые выводы

MiniStack — бесплатная open-source замена LocalStack (MIT-лицензия)

33 AWS-сервиса на одном порте — S3, SQS, DynamoDB, Lambda, IAM, RDS, ElastiCache, ECS и другие

Реальная инфраструктура: RDS поднимает настоящий Postgres, ElastiCache — настоящий Redis, ECS — Docker-контейнеры

Запуск за 2 секунды, 30 МБ RAM в простое (vs 30 секунд и 500 МБ у LocalStack)

Drop-in совместимость с boto3, AWS CLI, Terraform, CDK, Pulumi

Почему LocalStack стал платным

LocalStack сменил лицензию с Apache 2.0 на Business Source License (BSL) и перенёс ключевые сервисы — S3, SQS, Lambda, IAM, Cognito, EC2 — в платный тир. Бесплатная версия LocalStack Community фактически перестала покрывать базовые сценарии локальной разработки.

Для коммерческих команд LocalStack Pro стоит от $35/мес на разработчика. Для опенсорс-проектов и индивидуальных разработчиков это создало вакуум — и MiniStack его заполнил.

Что умеет MiniStack

MiniStack — это один Python ASGI-сервер, который эмулирует AWS API на порте 4566. Ваши существующие boto3-клиенты, Terraform-провайдеры, CDK-стеки и AWS CLI работают без изменений — достаточно указать endpoint.

33 поддерживаемых сервиса

  • Хранилище: S3 (с версионированием, Object Lock, CORS, lifecycle), EBS, EFS
  • Очереди и события: SQS (FIFO + DLQ), SNS (fanout в SQS и Lambda), EventBridge, Kinesis, Firehose
  • Базы данных: DynamoDB (TTL, транзакции), RDS (реальный Postgres/MySQL), ElastiCache (реальный Redis), Athena (реальный SQL через DuckDB)
  • Вычисления: Lambda (реальное исполнение Python, warm pool), ECS (реальные Docker-контейнеры), Step Functions, EMR
  • Сеть и безопасность: EC2 (instances, VPC, subnets, security groups), ALB/ELBv2, Route53, Cognito, IAM, STS
  • Конфигурация: SSM Parameter Store, Secrets Manager, CloudFormation, Glue Catalog

Реальная инфраструктура, а не заглушки

Главное отличие MiniStack — он поднимает настоящие сервисы там, где это важнее всего:

  • RDS — вызов CreateDBInstance с engine=postgres запускает реальный PostgreSQL-контейнер и возвращает настоящий host:port
  • ElastiCache — реальный Redis-контейнер, а не in-memory имитация
  • ECS — реальные Docker-контейнеры
  • Athena — реальный SQL через DuckDB (при наличии)

Это принципиально отличается от подхода LocalStack, который во многих случаях использует стабы — ответы «всё ОК» без реального выполнения.

Сравнение с LocalStack

Ключевые метрики рядом:

  • Запуск: MiniStack ~2 сек vs LocalStack ~15–30 сек
  • RAM в простое: MiniStack ~30 МБ vs LocalStack ~500 МБ
  • Docker-образ: MiniStack 150 МБ vs LocalStack ~1 ГБ
  • Лицензия: MiniStack MIT vs LocalStack BSL (ограниченная) / Proprietary ($35+/мес)
  • RDS, ElastiCache, ECS: MiniStack — реальные контейнеры бесплатно vs LocalStack — только в Pro

При этом MiniStack совместим с тем же API: endpoint-url, boto3, Terraform, CDK — всё работает без изменения кода.

Как начать

Три способа установки:

			# Вариант 1: pip (самый простой)
pip install ministack
ministack  # Запускается на http://localhost:4566

# Вариант 2: Docker
docker run -p 4566:4566 nahuelnucera/ministack

# Вариант 3: из исходников
git clone https://github.com/Nahuel990/ministack
cd ministack
docker compose up -d
		

Проверка работы:

			# Создать S3-бакет
aws --endpoint-url=http://localhost:4566 s3 mb s3://my-bucket

# Создать SQS-очередь
aws --endpoint-url=http://localhost:4566 sqs create-queue \
  --queue-name my-queue

# Список DynamoDB-таблиц
aws --endpoint-url=http://localhost:4566 dynamodb list-tables
		

Для Python-проектов:

			import boto3

def client(service):
    return boto3.client(
        service,
        endpoint_url="http://localhost:4566",
        aws_access_key_id="test",
        aws_secret_access_key="test",
        region_name="us-east-1",
    )

s3 = client("s3")
s3.create_bucket(Bucket="my-bucket")
s3.put_object(
    Bucket="my-bucket",
    Key="hello.txt",
    Body=b"Hello, MiniStack!"
)
		

Выводы

MiniStack не претендует на полное покрытие всех AWS-сервисов — это задача LocalStack Pro. Но для типичной локальной разработки (S3 + SQS + DynamoDB + Lambda + IAM + RDS) он закрывает 90% потребностей при нулевой стоимости, мгновенном запуске и MIT-лицензии.

Проект активно развивается (947 звёзд на GitHub, версия 1.0.7) и уже привлёк внимание на Hacker News (227+ баллов). Если вы искали замену LocalStack после перехода на платную модель — попробуйте.

Ссылки: GitHub | Сайт | PyPI | Docker Hub