Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
The best AWS emulator and the best alternative to LocalStack. 60+ AWS services free forever — real Postgres, Redis, Docker containers, full Terraform / CDK / Pulumi support. MIT licensed.
翻訳待ち
開発ツールPython · GoGitHub @ministackorgオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
Ministack: Free, open-source local AWS emulator - 60+ services, Terraform compatible, real databases. Free forever. MIT licensed.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
MiniStack
Free, open-source local AWS emulator. Free forever.
60+ AWS services on a single port · Multi-account & multi-region · Terraform compatible · Real databases · MIT licensed
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 free alternative.Read the full README ↗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 free alternative.
boto3, AWS CLI, Terraform, CDK, Pulumi, any SDKMINISTACK_BEDROCK_PROXY_URL at Ollama, llama.cpp, or vLLM and get real completions through the Bedrock API# Option 1: PyPI (simplest)
pip install ministack
ministack
# Runs on http://localhost:4566 — use GATEWAY_PORT=XXXX to change
# Option 2: Docker Hub
docker run -p 4566:4566 ministackorg/ministack
# Option 2b: Docker Hub with real infrastructure (RDS, ECS, Lambda containers)
docker run -p 4566:4566 -v /var/run/docker.sock:/var/run/docker.sock ministackorg/ministack
# Option 2c: Full image — Debian/glibc base with DuckDB (Athena), psycopg2, pymysql.
# Larger (~360 MB vs ~110 MB) but enables Athena and native PostgreSQL/MySQL drivers
# that don't ship musllinux wheels. Reports `edition: full` on /_ministack/health.
docker run -p 4566:4566 ministackorg/ministack:full
# Option 3: Clone and build
git clone https://github.com/ministackorg/ministack
cd ministack
docker compose up -d
# Verify (any option)
curl http://localhost:4566/_ministack/health
That's it. No account, no API key, no sign-up.
MiniStack exposes internal endpoints for test automation:
# Health check — returns service status
curl http://localhost:4566/_ministack/health
# Reset all state — wipe every service back to empty (useful between test runs)
curl -X POST http://localhost:4566/_ministack/reset
# Reset and re-run init scripts (boot.d + ready.d)
curl -X POST http://localhost:4566/_ministack/reset?init=1
# Runtime config — change service-level settings without restart
curl -X POST http://localhost:4566/_ministack/config \
-H "Content-Type: application/json" \
-d '{"lambda_svc.LAMBDA_EXECUTOR": "docker"}'
# Inspect emails sent via SES — returns every message grouped by account
curl http://localhost:4566/_ministack/ses/messages
# Filter by account (12-digit access-key ID used as the account ID)
curl "http://localhost:4566/_ministack/ses/messages?account=000000000000"
# Inspect SQS messages — returns every queue's messages grouped by account
# (includes Body, MessageId, ReceiveCount, VisibleAt, IsVisible, MessageAttributes, FIFO group/dedup)
curl http://localhost:4566/_ministack/sqs/messages
# Filter by account and/or a specific queue
curl "http://localhost:4566/_ministack/sqs/messages?account=000000000000&QueueUrl=http://localhost:4566/000000000000/my-queue"
# Inspect SMS sent via SNS Publish with a PhoneNumber — grouped by recipient
curl http://localhost:4566/_ministack/sns/sms-messages
# Filter by recipient, account and/or region
curl "http://localhost:4566/_ministack/sns/sms-messages?phoneNumber=%2B15551234567"
The reset endpoint is especially useful in CI pipelines and test suites — call it in setUp/beforeEach to get a clean environment for every test without restarting the container. Add ?init=1 to re-run your init scripts after the reset, restoring any resources they create (VPCs, queues, seed data, etc.).
The config endpoint supports these keys:
| Key | Description |
|---|---|
lambda_svc.LAMBDA_EXECUTOR | Lambda execution mode (local or docker) |
athena.ATHENA_ENGINE | Athena query engine (duckdb or mock) |
athena.ATHENA_DATA_DIR | Directory for Athena DuckDB data files |
stepfunctions._sfn_mock_config | SFN mock config (AWS SFN Local compatible) |
stepfunctions._SFN_WAIT_SCALE | Scale factor for Wait state durations and retry sleeps (0 = skip all waits) |
To set region or account ID, use environment variables at startup:
docker run -p 4566:4566 \
-e MINISTACK_REGION=eu-west-1 \
-e MINISTACK_ACCOUNT_ID=123456789012 \
ministackorg/ministack
Or use the multi-tenancy feature — a 12-digit access key automatically becomes the account ID (see Multi-Tenancy below).
Also compatible with LocalStack's health endpoint:
curl http://localhost:4566/_localstack/health
curl http://localhost:4566/health
MiniStack supports lightweight multi-tenancy without any configuration. If the AWS_ACCESS_KEY_ID is a 12-digit number, it is used as the Account ID for all ARN generation. Non-numeric keys (like test) fall back to the MINISTACK_ACCOUNT_ID env var or 000000000000.
# Team A — gets account 111111111111
export AWS_ACCESS_KEY_ID=111111111111
export AWS_SECRET_ACCESS_KEY=test
aws --endpoint-url=http://localhost:4566 sts get-caller-identity
# → { "Account": "111111111111", ... }
# Team B — gets account 222222222222
export AWS_ACCESS_KEY_ID=222222222222
export AWS_SECRET_ACCESS_KEY=test
aws --endpoint-url=http://localhost:4566 sts get-caller-identity
# → { "Account": "222222222222", ... }
All ARNs and resource state (SQS queues, Lambda functions, IAM roles, S3 buckets, DynamoDB tables, etc.) are fully isolated per account. Resources with the same name in different accounts never collide. This allows multiple developers or CI pipelines to share a single MiniStack endpoint with complete tenant isolation — no extra setup needed.
This is the beginning of the README. Read the rest at the original. Read the full README ↗