Бесплатный AWS-эмулятор с открытым исходным кодом для локального запуска AWS-подобных сервисов без аккаунта и токена авторизации.
ministackorg/ministack
Бесплатный эмулятор AWS с открытым исходным кодом: запускает более 60 сервисов на одном порту и совместим с boto3, AWS CLI и Terraform.
Open source альтернатива:LocalStack
- Звёзды
- 5,111
- Форки
- 538
- Открытые issues
- 21
- Последний коммит
- 23 часа назад
Что это?
MiniStack — локальный эмулятор AWS, который позволяет запускать S3, SQS, SNS, DynamoDB, Lambda, IAM, EC2, Step Functions и десятки других сервисов AWS на своей машине или в CI без аккаунта AWS. Все сервисы доступны через одну конечную точку — по умолчанию это порт 4566. Поэтому в существующих конфигурациях boto3, AWS CLI, Terraform, CDK и Pulumi достаточно изменить URL конечной точки.
Проект позиционируется как бесплатная альтернатива LocalStack, основные сервисы которого теперь доступны только в платном тарифе. На одной конечной точке поддерживаются несколько аккаунтов и регионов: 12-значный ключ доступа используется как ID аккаунта, а регион SigV4 определяет область действия состояния. Для некоторых сервисов используются настоящие бэкенды: например, RDS работает с контейнерами Postgres или MySQL, ElastiCache — с Redis или Valkey, а задачи ECS запускаются как Docker-контейнеры. В полной версии образа запросы Athena выполняются через DuckDB.
В контейнере есть внутренний API для автоматизации тестирования: проверки состояния, endpoint для сброса состояния между тестами, а также endpoint’ы для просмотра писем SES, сообщений SQS и SMS-сообщений SNS. Проект написан на Python и распространяется по лицензии MIT.
Ключевые возможности
- 01Эмулирует более 60 сервисов AWS на одном порту, включая S3, SQS, DynamoDB, Lambda и Step Functions.
- 02Совместим с boto3, AWS CLI, Terraform, CDK и Pulumi — достаточно изменить URL конечной точки.
- 03Изолирует состояние для каждого аккаунта (по ключу доступа) и региона.
- 04Запускает настоящие контейнеры Postgres, MySQL, Redis и Valkey для RDS и ElastiCache.
- 05Предоставляет endpoint для сброса состояния и endpoint’ы для его проверки в тестовых наборах.
Сценарии использования
- Запуск интеграционных тестов, зависящих от AWS, в CI без настоящих учётных данных AWS.
- Локальная разработка Lambda-функций и событийных сценариев с эмулируемыми SQS, SNS и EventBridge.
- Проверка инфраструктурного кода Terraform или CDK перед развёртыванием в AWS.
- Замена платной конфигурации LocalStack в локальной среде разработки.
Быстрый старт
- 1
Установить из PyPI
pip install ministack - 2
Запустить MiniStack (работает на порту 4566)
ministack - 3
Убедиться, что сервер запущен
curl http://localhost:4566/_ministack/health
Что важно знать
- Для SQL-запросов Athena и некоторых функций реальных баз данных требуется полный образ Docker, который занимает больше места.
- Для контейнеров RDS, ElastiCache, ECS и Lambda необходимо подключить сокет Docker.
В подборках
Темы
Частые вопросы
- Что такое ministack?
- Бесплатный эмулятор AWS с открытым исходным кодом: запускает более 60 сервисов на одном порту и совместим с boto3, AWS CLI и Terraform. MiniStack — локальный эмулятор AWS, который позволяет запускать S3, SQS, SNS, DynamoDB, Lambda, IAM, EC2, Step Functions и десятки других сервисов AWS на своей машине или в CI без аккаунта AWS. Все сервисы доступны через одну конечную точку — по умолчанию это порт 4566. Поэтому в существующих конфигурациях boto3, AWS CLI, Terraform, CDK и Pulumi достаточно изменить URL конечной точки.
- ministack можно использовать бесплатно? Какая у него лицензия?
- ministack распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ministack всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ministack — 6 нояб. 2026 г..
- Для чего можно использовать ministack?
- Запуск интеграционных тестов, зависящих от AWS, в CI без настоящих учётных данных AWS. Локальная разработка Lambda-функций и событийных сценариев с эмулируемыми SQS, SNS и EventBridge. Проверка инфраструктурного кода Terraform или CDK перед развёртыванием в AWS. Замена платной конфигурации LocalStack в локальной среде разработки.
- Как установить ministack?
- Установить из PyPI: pip install ministack Запустить MiniStack (работает на порту 4566): ministack Убедиться, что сервер запущен: curl http://localhost:4566/_ministack/health
- Где скачать ministack?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ministackorg/ministack
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Модуль Terraform для создания функций и слоёв AWS Lambda с установкой зависимостей и сборкой пакетов для развёртывания.
Локальный SMTP-сервер для перехвата исходящей почты во время разработки и просмотра писем в веб-интерфейсе.
Бесплатный эмулятор Azure с открытым исходным кодом: локально запускает совместимые с Azure сервисы, включая Blob, Queue, Table, Functions и Cosmos DB, на localhost:4577.
CLI для AWS CDK, который разворачивает существующие приложения CDK прямыми вызовами AWS SDK вместо CloudFormation, ускоряя деплой в средах разработки и тестирования.
Запускает кластеры Kubernetes в контейнерах Docker с помощью vCluster — более лёгкой альтернативы KinD с возможностью приостанавливать и возобновлять работу и встроенными балансировщиками нагрузки.